JVM(Java Virtual Machine, 자바 가상 머신)
JVM은 OS에 종속적
- 해당 OS에서 실행가능한 JVM 필요
Java 어플리케이션은 JVM하고만 상호작용
- OS와 하드웨어에 독립적
실행 시 해석(interpret)되기 때문에 속도가 느리다는 단점을 갖는다
- 요즘은 JIT 컴파일러와 향상된 최적화 기술이 적용되어 속도의 격차를 많이 줄임
- JIT 컴파일러는 바이트코드(컴파일된 자바코드)를 하드웨어의 기계어로 바로 변환(Just In Time)
JDK(Java Development Kit, 자바 개발 도구)
JDK는 JRE + 개발을 위해 필요한 도구(javac, java등)들을 포함한다.
- JRE(Java Runtime Environment, 자바 실행환경)
- JRE는 JVM이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있다
- JVM의 실행환경을 구현했다고 할 수 있다.
소스코드를 작성할 때 사용하는 자바 언어는 플랫폼에 독립적
오라클은 자바 11부터 JDK만 제공
- 모듈 시스템을 사용할 수 있으므로 JRE를 따로 제공하지 않는다
'Java의 정석 📖 > Chapter 1. 자바를 시작하기 전에' 카테고리의 다른 글
자바의 특징 (0) | 2023.01.19 |
---|---|
자바(Java)란? (0) | 2023.01.19 |