김찬진의 개발 블로그

[23/07/17] JDK, JRE, JVM 본문

1일1배움/Java

[23/07/17] JDK, JRE, JVM

kim chan jin 2023. 7. 17. 10:27

JDK (Java Development Kit)

JDK는 Java 개발 도구를 제공하는 패키지입니다.

포함된 개념은 다음과 같습니다.

Java 컴파일러(javac): Java 소스 코드를 바이트 코드로 변환하는 컴파일러입니다.
개발 도구(Development Tools): Java 애플리케이션 개발을 위한 다양한 도구가 포함되어 있습니다. 예를 들어, 디버깅 도구(jdb), 프로파일링 도구(jconsole), 문서화 도구(javadoc) 등이 있습니다.
JRE(Java Runtime Environment): Java 애플리케이션을 실행하기 위한 런타임 환경인 JRE도 JDK에 포함되어 있습니다.

 


JRE (Java Runtime Environment)

JRE는 Java 애플리케이션을 실행하기 위한 실행 환경을 제공합니다.

포함된 개념은 다음과 같습니다.

JVM (Java Virtual Machine): Java 바이트 코드를 실행하는 가상 머신입니다. JVM은 Java 애플리케이션을 실행하기 위해 바이트 코드를 기계어로 변환하고, 메모리 관리, 스레드 관리, 예외 처리 등의 작업을 수행합니다.
Java 클래스 라이브러리: Java 애플리케이션 개발 시 자주 사용되는 클래스와 라이브러리가 포함되어 있습니다. 예를 들어, 문자열 처리, 파일 입출력, 네트워크 통신 등을 지원하는 클래스가 있습니다.

 


JVM (Java Virtual Machine)

JVM은 Java 가상 머신으로, Java 바이트 코드를 실행하는 역할을 합니다.
JVM은 플랫폼 독립성을 제공하여 Java 애플리케이션이 다양한 운영 체제에서 동작할 수 있도록 합니다.
포함된 개념은 다음과 같습니다.
바이트 코드 실행 엔진: JVM은 Java 바이트 코드를 기계어로 변환하여 실행하는 역할을 합니다.
메모리 관리: JVM은 힙 메모리와 스택 메모리를 관리하고, 가비지 컬렉션을 통해 불필요한 객체를 제거합니다.
스레드 관리: JVM은 멀티스레드 실행을 관리하고, 스레드 스케줄링, 동기화, 교착 상태 해결 등을 처리합니다.
예외 처리: JVM은 예외 처리 메커니즘을 구현하여 예외가 발생할 경우 적절히 처리합니다.

Comments