티스토리 뷰

[자바 컴파일러(Java compiler)]

- 자바 컴파일러(javac)는 자바를 가지고 작성한 자바 소스 코드(.java)자바 가상머신(JVM)이 이해할 수 있는 자바 바이트 코드(.class)로 변환한다.

- 자바 컴파일러는 자바를 설치하면 javac.exe라는 실행 파일 형태로 설치 된다. 

 

[자바의 동작 과정]

1. Compile: '.java' 확장자가 붙은 소스코드를 class 확장자가 붙은 실행 파일로 변환

2. Run: class 확장자가 붙은 파일을 'java'로 실행 

 

[javac]

'javac' 를 통해서 컴파일을 한다. 터미널에 'javac'를 입력하면 사용법을 볼 수 있다.

 

(1) javac가 있는 위치

 

  •  Windows - C:\Program Files\Java\jdk-x.x.x\bin 폴더 하위에 java.exe javac.exe 프로그램이 cmd 창에서 javajavac 명령어를 쳤을 때 실행되는 파일이다. 

 

(2) 자바 컴파일 및 실행 방법

java 소스코드 파일 생성
java 소스코드 파일 컴파일(javac)
test.class 파일 생성된 것을 확인 
test.class 파일 실행 (java)

[자바 바이트 코드(Java bytecode)란?]

자바 바이트 코드(Java bytecode)란 자바 가상머신이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미한다. 

- 자바 컴파일러에 의해 변환되는 코드의 명령어 크기가 1바이트라서 자바 바이트 코드라고 불린다.

- 자바 바이트 코드의 확장자는 .class 이다.

- 자바 바이트 코드는 자바 가상머신만 설치되어 있으면, 어떤 운영체제에서 라도 실행될 수 있다. 

 

[JIT(Just In Time) 컴파일러]

JIT(Just In Time) 또는 동적 번역(Dynamic translation)은 프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일 기법이다. 전통적인 입장에서 컴퓨터 프로그램을 만드는 방법은 인터프리터 방식과 정적 컴파일 방식으로 나눌 수 있다. 이 중 인터프리터 방식은 실행 중 프로그래밍 언어를 읽어가면서 해당 기능에 대응하는 기계어 코드를 실행하며, 반면 정적 컴파일은 실행하기 전에 프로그램 코드를 기계어로 번역한다. 

 

JIT 컴파일러는 두 가지 방식을 혼합한 방식으로 생각할 수 있는데, 실행 시점에서 인터프리터 방식으로 기계어 코드를 생성하면서 그 코드를 캐싱 하여, 같은 함수가 여러 번 불릴 때 매번 기계어 코드를 생성하는 것을 방지한다. 

 

[JDK와 JRE의 차이]

출처: https://jusungpark.tistory.com/13

(1) JDK(Java Development Kit)

- 자바 개발 도구

- JVM, Java API, Java Tool, Java Compiler 포함

- JRE 에서 제공하는 실행 환경 뿐만 아니라 자바 개발에 필요한 여러 가지 명령어 그리고 컴파일러를 포함한다.

 

(2) JRE(Java Runtime Environment)

- 자바 실행 환경

- JVM, Java API 

- 자바 애플리케이션을 실행하기 위한 최소의 실행 환경을 제공한다. 

 


[Reference]

http://www.tcpschool.com/java/java_intro_programming

https://jusungpark.tistory.com/13

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함