JDK란,Java Development Kit으로 자바 소프트웨어를 작동하기 위한, 자바 프로그램을 개발하기 위해 필요한 도구입니다.
ex)
Java SE 11.0.2(LTS)
11: 주요버전0: 개선버전2: 업데이트 버전LTS: Long Term Support로, 장기 지원을 받을 수 있는 버전
bin : 자바 개발, 실행에 필요한 도구와 유틸리티들이 포함include : 네이티브 코드 프로그래밍에 필요한 C언어 헤더 파일lib : 실행 시간에 필요한 라이브러리 클래스javac : 자바 컴파일러로 자바 소스를 바이트 코드로 컴파일한다.java : 자바 인터프리터로, 컴파일러가 생성한 바이트 코드를 해석하고 실행한다.javadoc : 자바 소스로부터 HTML 형식의 API 도큐먼트 생성한다.jar : 자바 클래스 파일을 압축한 자바 아카이브 파일을 생성한다.jmod : 자바의 모듈 파일을 만들거나 모듈 파일의 내용을 출력한다.jlink : 응용프로그램에 맞춘 맞춤형 JRE 생성한다.jdb : 자바 응용프로그램의 실행 중 오류를 찾는 데 사용되는 디버거이다.javap : 역 어셈블러로, 컴파일된 클래스 파일을 원래의 소스로 변환한다.
JRE: Java Runtime Environment
JRE는 아래 항목을 포함한다.
클래스 로더, 클래스 라이브러리를 통해 작성항 자바 코드를 라이브러리와 결합한 후 JVM에 넘겨 실행시킨다.
JRE는 JVM이 원활하게 작동할 수 있도록 도와주는 역할을 한다.
java 11 버전부터는 jre만 따로 제공 되지 않고, jdk에 포함되어 제공된다.
JVM: Java Virtual machine
JVM은 크게 2가지 역할을 한다.
과거의 프로그램은 OS에 맞추어 작성되어야 했다. 같은 프로그램이지만 윈도우, 리눅스, 맥 등 사용하는 OS에 따라 다르게 작성되어야 했고, 프로그램의 메모리도 일일이 개발자가 관리하여야 하였으나 JVM의 등장으로 편리해졌다.
Java SE : Java Standard Edition표준 자바 플랫폼으로 표준적인 컴퓨팅 환경을 지원하기 위한 자바 가상머신 규격 및 API 집합을 포함합니다.
Java EE : Java Enterprise Edition
JavaSE에 웹 어플리케이션 서버에서 동작하는 기능을 추가한 플랫폼입니다.
Java ME : Java Micro Edition제한된 자원을 가진 휴대전화, PDA 등에서 Java 프로그래밍 언어를 지원하기 위해 만든 플랫폼 중 하나입니다.