728x90
반응형
JVM(Java Virtual Machine)
- JVM은 자바 소스코드로 부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있다.
- 리눅스의 JVM과 윈도우의 JVM은 다른데 컴파일된 바이너리 코드는 어떤 JVM에서도 동작 시킬 수 있다.
JVM의 역할은 다음과 같다.
- 바이너리 코드를 읽는다
- 바이너리 코드를 검증한다.
- 바이너리 코드를 실핼한다.
-실행환경(Runtime Environment)의 규격을 제공한다. (필요한 라이브러리 및 기타파일)
JRE(Java Runtime Enviroment)
- JRE는 JVM이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있다.
- JRE는 JVM의 실행환경을 구현했다고 할 수 있다.
- 자바 프로그램을 실행시키기 위해선 JRE를 반드시 설치해야하는데 자바 프로그래밍 도구는 포함되어 있지 않기 때문에 자바프로그래밍을 하기 위해선 JDK가 필요하다.
JDK(Java Development kit)
- 자바 프로그래밍시 필요한 컴파일러등을 포함한다.
- JDK는 java와 javac와 같은 개발을 위해 필요한 도구를 포함한다.
- JDK를 설치하면 JRE도 같이 설치가 된다. (즉, JDK = JRE + a )
JDK 에서 개발도구인 java와 javac 란?
javac는 *.java 파일을 *.class 파일로 컴파일 해주는 컴파일러 이다.
java는 javac로 컴파일 된 class 파일을 실행하는 프로그램이다.
*참고
728x90
728x90
'언어 > JAVA' 카테고리의 다른 글
JAR, WAR, EAR 차이점 (0) | 2021.09.29 |
---|---|
[Java] Oracle JDK와 Open JDK의 차이점 (0) | 2021.09.15 |