[JDK] JDK란? JDK 종류, 구성

제이브로·2024년 10월 7일
post-thumbnail

1. JDK

JDK란, Java Development Kit으로 자바 소프트웨어를 작동하기 위한, 자바 프로그램을 개발하기 위해 필요한 도구입니다.

2. JDK 버전

ex) Java SE 11.0.2(LTS)

  • 11 : 주요버전
  • 0 : 개선버전
  • 2 : 업데이트 버전
  • LTS : Long Term Support로, 장기 지원을 받을 수 있는 버전

3. JDK 구성

  • bin : 자바 개발, 실행에 필요한 도구와 유틸리티들이 포함
  • include : 네이티브 코드 프로그래밍에 필요한 C언어 헤더 파일
  • lib : 실행 시간에 필요한 라이브러리 클래스

3.1 bin 디렉토리

  • javac : 자바 컴파일러로 자바 소스를 바이트 코드로 컴파일한다.
  • java : 자바 인터프리터로, 컴파일러가 생성한 바이트 코드를 해석하고 실행한다.
  • javadoc : 자바 소스로부터 HTML 형식의 API 도큐먼트 생성한다.
  • jar : 자바 클래스 파일을 압축한 자바 아카이브 파일을 생성한다.
  • jmod : 자바의 모듈 파일을 만들거나 모듈 파일의 내용을 출력한다.
  • jlink : 응용프로그램에 맞춘 맞춤형 JRE 생성한다.
  • jdb : 자바 응용프로그램의 실행 중 오류를 찾는 데 사용되는 디버거이다.
  • javap : 역 어셈블러로, 컴파일된 클래스 파일을 원래의 소스로 변환한다.

4. JRE

JRE : Java Runtime Environment

JRE는 아래 항목을 포함한다.

  • 자바 클래스 라이브러리(Java class libraries)
  • 자바 가상머신 (JVM)
  • 자바 클래스 로더(Java class loader)

클래스 로더, 클래스 라이브러리를 통해 작성항 자바 코드를 라이브러리와 결합한 후 JVM에 넘겨 실행시킨다.
JRE는 JVM이 원활하게 작동할 수 있도록 도와주는 역할을 한다.
java 11 버전부터는 jre만 따로 제공 되지 않고, jdk에 포함되어 제공된다.

5. JVM

JVM : Java Virtual machine

JVM은 크게 2가지 역할을 한다.

  • 자바의 프로그램을 실행시켜주는 역할을 함으로써 OS, 기기에 영향을 받지 않는다.
  • 자바 프로그램의 메모리를 가비지 컬렉션을 통해 효율적으로 관리해 준다.

과거의 프로그램은 OS에 맞추어 작성되어야 했다. 같은 프로그램이지만 윈도우, 리눅스, 맥 등 사용하는 OS에 따라 다르게 작성되어야 했고, 프로그램의 메모리도 일일이 개발자가 관리하여야 하였으나 JVM의 등장으로 편리해졌다.

6. JDK 종류

  • Java SE : Java Standard Edition

    표준 자바 플랫폼으로 표준적인 컴퓨팅 환경을 지원하기 위한 자바 가상머신 규격 및 API 집합을 포함합니다.

  • Java EE : Java Enterprise Edition

    JavaSE에 웹 어플리케이션 서버에서 동작하는 기능을 추가한 플랫폼입니다.

  • Java ME : Java Micro Edition

    제한된 자원을 가진 휴대전화, PDA 등에서 Java 프로그래밍 언어를 지원하기 위해 만든 플랫폼 중 하나입니다.

7. References

  1. angver blog
  2. jindream6128 blog
profile
기록하지 않으면 기록되지 않는다.

0개의 댓글