https://www.youtube.com/watch?v=VvVruEDCSSY
JVM < JRE < JDK
JVM (Java Virtual Machine, 자바 가상 머신)
- 컴파일러는 우리가 읽고 작성하는 프로그래밍 언어를 컴퓨터가 알아듣는 기계어로 바꿔준다
컴파일러에 의해.java
파일이**.class**
파일로 바뀌고 이 파일을 바이트 코드라고 한다.
바이트 코드는 사람의 언어와 컴퓨터의 기계어의 중간단계이 - JVM = 자바 프로그램 실행환경을 만들어주는 소프트웨어 - 바이트 코드를 기계어로 번역하여 동작시킴
- 자바로 짜서 컴파일한 소프트웨어들이 JVM이 깔린 어떤 종류의 컴퓨터에서든 돌 수 있게 해줌
- 자바 이외의 그루비, 스칼라, 코틀린 같은 언어들로도 JVM을 돌리는 기계에서의 프로그램을 짤 수 있음
- JVM은 자바 실행 환경 JRE에 포함되어 있음 (컴퓨터에 JRE가 설치되어 있다면 JVM도 설치되어 있는 것)
JRE (Java Runtime Environment, 자바 실행 환경)
- 런타임 : 프로그램을 실행하는 시간 (컴파일 및 빌드 후 실행되는 시점)
- JRE는 널리쓰이는 라이브러리들을 JVM과 함께 설치함
JDK (Java Development Kit, 자바 개발 도구)
- JDK는 JRE를 포함하며, 개발에 필요한
javac
jdb
jar
등을 포함한 도구를 탑재 - 대표적으로 오라클의 Oracle JDK, 아마존의 Coretto, 마이크로소프트의 Open JDK 등
'Java' 카테고리의 다른 글
[Java] 가비지 컬렉터 (Garbage Collector) (0) | 2023.03.07 |
---|---|
[Java] 맵(Map)과 HashMap (0) | 2023.02.28 |
[Java] Scanner 클래스와 메서드(입력) (0) | 2023.02.27 |
[Java] 제너릭스 (0) | 2023.02.27 |
[Java] 자동형변환과 수동형변환 (0) | 2023.02.27 |