● JAVA 특징
- C언어는 운영체제마다 고유의 컴파일러를 통해 컴파일 됩니다.
- 따라서 같은 아웃풋을 위한 같은 코드라도 각각 다른 컴파일러를 통해 바이너리 코드로 변환되어 실행됩니다.
- 하지만 JAVA는 다릅니다.
- 운영체제를 설치할때 JAVA와 JVM을 기본으로 설치합니다.
- 운영체제와 상관없이 자바 컴파일러를 통해 설치된 JVM에서 실행됩니다.
- 따라서 동일한 바이너리 코드로 변환되어 실행됩니다.
- 이러한 장점으로 인해 인기가 많고, JAVA뿐만아니라, Groovy, Scala, Kotlin 등 다른 언어에서도 활용됩니다.
● JVM & JRE & JDK
JVM
- Java Virtual Machine의 약자입니다.
- OS 별로 존재합니다.
- 바이너리 코드를 읽고 검증하고 실행합니다.
JRE
- Java Runtime Environment의 약자입니다.
- JRE = JVM + 실행을 위한 도구입니다.
- ※ 자바프로그램 : 실행에 필요한 라이브러리 파일 등
- JVM의 실행환경을 구현합니다.
JDK
- Java Development Kit의 약자입니다.
- JDK = JRK + 개발을 위한 도구입니다.
- ※ 개발을 위한 도구 : 컴파일러, 디버그 도구 등
※ JDK 종류
출처: 공부하는 개발자
https://www.youtube.com/channel/UCUQi7y46_TMbvPjSt1AbDug