티스토리 뷰

Language/JAVA

[JAVA]JDK? JRE? JVM?

retto9522 2024. 8. 28. 16:12

JDK(=Java Development Kit)란?

Java Application을 개발하기 위해 필요한 도구들의 모음입니다.

이는 개발자가 Java 코드를 작성하고 컴파일하여 Byte Code로 변환하는데 사용됩니다.

JDK는 Java Compiler, JRE, Java Development Tools로 구성되어 있습니다.

 

JDK의 구성

JDK는 Oracle Corporation에서 출시한 아래 Java 플랫폼들 중 하나를 구현한 것입니다.

Java 플랫폼

  • Java SE: Java Platform, Standard Edition
    표준 자바 플랫폼으로 표준적인 컴퓨팅 환경을 지원하기 위한 자바 가상머신 규격 및 API 집합을 포함합니다.
    Java EE, Java ME는 구체적인 목적에 따라서 이 Java SE를 기반으로 API 추가하거나 자바 가상머신 규격 및 API의 일부를 택하여 정의됩니다.
  • Java EE: Java Platfrom, Enterprise Edition
    대규모 기업용 에디션으로, 기업 환경을 위한 대규모 솔루션을 개발하는데 사용됩니다.
  • Java ME: Java Platform, Micro Edition
    제한된 자원을 가진 휴대전화, PDA 등에서 Java 프로그래밍 언어를 지원하기 위해 만든 플랫폼 중 하나입니다.
PDA?
Personal Digital Assistant의 약자로 휴대용 정보 단말기를 의미합니다. 

PDA는 일정 관리, 주소록, 메모 등의 기능을 제공하는 소형 휴대용 컴퓨터로 스마트폰이 보편화되기 전에 널리 사용되었습니다. Java ME를 통해 개발자들은 이러한 PDA기기에서 실행될 수 있는 Application을 만들 수 있었습니다.

JRE(=Java Runtime Enviroment)란?

JRE는 컴퓨터의 OS 상에서 실행되고 Java Class Library 및 특정 Java Program이 실행해야 하는 기타 리소스를 제공하는 소프트웨어 계층입니다.

즉, Java Application을 실행하기 위해 필요한 최소한의 실행 환경을 제공합니다.

 

JRE는 JVMJava Class Library로 구성되어 있습니다.

  • JVM: Byte Code(*.class)를 기계어로 변환하고, 메모리 관리와 프로세스를 관리하여 Java Appplication을 실행합니다.
  • Java Class Library: 개발자들이 자주 사용하는 Class들을 제공합니다.

JVM(=Java Virtual Machine)란?

JVM은 Byte Code(*.class)를 실행하는 가상 머신이며, Java의 Cross Platform 특성을 가능하게 합니다.

JVM은 다음과 같은 주요 기능을 갖고 있습니다.

  • Byte Code 해석: 컴파일 된 Byte Code를 읽고 실행 가능한 기계어로 변환합니다.
  • Memory Manage: 자동적으로 메모리를 할당하고 해제하여 프로그램 실행 중 메모리 관리를 용이하게 합니다. 이는 Garbage Collection과 연관있습니다.
  • Garbage Collection: 사용되지 않는 객체들을 자동으로 제거하여 Memory를 최적화 합니다.

정리

  • JDK: Java Application 개발을 위해 필요한 도구 모음
  • JRE: Java Application을 실행하기 위한 환경을 제공
  • JVM: Java Byte Code를 실행하는 가상 머신

이들은 Java Application을 개발하고 실행하는 데 있어 긴밀한 연관이 있습니다. 또한, 이를 통해 여러 플랫폼에서 동일한 방식으로 Java를 동작할 수 있습니다.

공지사항
최근에 올라온 글
Total
Today
Yesterday