[Java] JVM? JDK?

@t189216·2023년 10월 22일
0

Java

목록 보기
2/19

JAVA 구성


JDK(Java Development Kit)


Java 어플리케이션 개발 시 필요한 툴킷을 제공하는 도구 모음입니다.
JDK(Java Development Kit): JRE + 개발에 필요한 것들

⬇ JDK 다운로드 사이트 (azul)

JRE(Java Runtime Environment)


Java 프로그램을 실행시켜주는 환경을 구성해주는 도구입니다. 개발할 필요는 없지만 실행이 필요한 경우, JRE가 필요합니다.
JRE: JVM + 자바 클래스 라이브러리 등

JVM(Java Virtual Machine)


Java 프로그램이 실행되는 가상의 공간을 말합니다. 가상의 공간이란 프로그램을 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것입니다.

  • OS에 종속적이지 않다.
  • 프로그램이 실행되는 도중에도 동적으로 OS로부터 메모리 할당받아 스스로 관리한다. (Garbage Collection)

💾 자바 프로그램 실행 과정

  1. 프로그램이 실행되면 JVM은 OS로부터 프로그램이 필요로 하는 메모리를 할당받습니다. JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리합니다.

  2. 자바 컴파일러가 자바 소스코드 (ex-Test.java)를 읽어들여 자바 바이트코드(ex-Test.class)로 변환합니다.

  3. Class Loader를 통해 Class 파일들을 JVM으로 로딩합니다.

  4. 로딩된 Class 파일들은 Execution Engine을 통해 해석됩니다.

  5. 해석된 바이트코드는 Runtime Data Area에 배치되어 실질적인 수행이 이루어지게 됩니다.

⛑️ LTS(Long-Term Support)

장기 유지 보수 및 보안 패치 지원 버전.
안정적인 프로그램 개발을 위해 사용을 권장함.

참고 블로그

profile
Today I Learned

0개의 댓글