Java SE, JDK, JRE
✅ Java SE(Java Standard Edition)
Java SE는 Java에서 가장 기본이 되는 자바의 표준안이며 Java가 어떠한 문법적인 구성을 가지고 있는지, 어떠한 라이브러리들을 제공하는지 등을 정의하고 있다. Java SE이 이외의 Edition으로는 Java EE(Enterprise Edition), ME(Micro Edition)등이 있다.
Java SE는 실제 소프트웨어가 아니며 실제 Java 소프트웨어를 개발하는데 필요한 설계도라고 생각하면 될 것이다. 아래는 Oracle에서 공개하는 Java SE의 공식문서 링크이니 궁금하면 들어가서 한번 보면 좋을 것 같다. 현재는 Java SE 20버전까지 올라와 있다.
✅ JDK(Java Development Kit)
위에서 알아본 Java SE에 맞춰 만들어진 실제 소프트웨어이다. Java 언어로 작성된 소스파일을 컴파일하고 개발할 수 있도록 해주는 개발 환경 세트를 의미하며 주요 구성요소로는 Java Compiler, JRE, Debugging Tools, Development Tools, APIs 가 있다.
- Java Compiler: 자바 소스 코드(.java 파일)을 바이트 코드(.class 파일)로 변환하는 역할을 한다.
- JRE(Java Runtime Environment): Java 애플리케이션을 실행하는데 필요한 라이브러리와 실행 파일을 포함한다.
- Debugging Tools: 애플리케이션의 버그를 찾고 수정하는데 도움을 주는 도구이다.
- Development Tools: JDK에서 포함하고 있는 Java 개발 도구이다. 자바 소스코드 편집기, 코드 분석 도구, 프로파일링 도구, 성능 분석 도구 등이 있다.
- APIs: JDK는 다양한 클래스와 인터페이스를 포함한 라이브러리를 제공한다. 파일 입출력, 네트워킹, 데이터베이스 액세스 등과 같은 작업을 수행하는데 필요한 클래스와 메서드를 제공한다.
✅ JRE(Java Runtime Environment)
JRE에는 Java가 실제로 동작하는데 필요한 JVM, 라이브러리, 각종 파일들이 포함되어 있다. 자바로 만들어진 프로그램을 구동하기 위해 필요하여 일반인을 위한 자바 환경이라고 할 수 있다.