[JAVA] JDK, JRE, JVM에 대해서
[JDK, JRE, JVM이란?]
컴파일은 0과1로 바꾸는 코드다. 0과1은 바이트 코드(바이너리 코드)다.
컴파일러는 컴파일해주는 프로그램이다.
원래는, OS 마다 다른 ‘컴파일러’‘기 필요하지만
JAVA는 JVM이 0과 1을 OS에 맞게 번역해 준다.
이 JVM은 인기가 상당해서, JAVA 외에 다른 언어에서도 사용하고 있다
c언어는 윈도우, 맥, 리눅스에게 컴파일러를 할때
윈도우 c언어 컴파일러, 맥 c언어 컴파일러, 리눅스 c언어 컴파일러를 해줘야한다.
자바는 자바 컴파일러 하나로 생성된 바이트 코드가 있으면
윈도우 JVM, 맥 JVM, 리눅스 JVM에게 컴파일할 수 있다.
[JDK > JRE> JVM]
1. JDK (JAVA DEVELOPMENT KIT)
- 자바 개발 도구의 약자
- JDK = JRE + 개발을 위한 도구
- 컴파일러, 디버그 도구 등이 포함
JDK를 설치하면 JRE와 JVM도 함꼐 설치된다
JAVA의 버전 = JDK의 버전이 된다.
2. JRE (JVA RUNTIME ENVIROMENT)
- 자바 실행 환경의 약자
- JRE = JVM + 자바 프로그램
실행에 필요한 라이브러리 파일들
- JVM의 실행환경을 구현
3. JVM (JAVA VIRTUAL MACHINE)
- 자바 가상머신의 약자
- OS별로 존재한다.
- 바이너리 코드를 읽고 검증하고 실행한다.
[자바 버전]
LTS = LONG TIME SUPPORT = 오래오래 지원한다는 의미
[JDK 종류]
ORACLE JDK : 오라클에서 만든 JDK, 개인은 무료, 기업은 유료
OPEN JDK : ORACLE JDK와 비슷하며 무료.
JDK에는 버전이 있고,
각 버전별로 새로운 기능이 추가되거나, 기존 기능이 사라진다.
JDK에는 종류가 있고,
기능 자체는 모두 동일하나, 성능과 비용에 약간의 차이가 있을 수 있다.
참고 내용
https://www.youtube.com/watch?v=f0cAmTYo4tQ