해당 포스트는
Yalco님의 강의를 바탕으로 작성했습니다.
https://www.youtube.com/watch?v=iN22AgS_Chk

Software Development Kit를 의미하는
SDK의 한 종류가JDK라고 볼 수 있다
JDK는 JRE를 포함하고 있다.JRE와 그 외에 javac, jdb, javap, javadoc 등 개발도구를 포함한다.[참고] Java언어는 Oracle이 관리하지만(표준 및 버전 개발),
Java로 소프트웨어를 개발하고 실행하는 JDK는 다양한 회사에서 개발한다.
(Amazon, Microsoft 등)
whichjdk.com 에서 해당 JDK의 특성과 권장 용도를 확인 가능하다.
Java 실행 환경, Java 런타임 환경 - 자바 어플리케이션을 실행하기 위한 환경
Java 프로그램을 실행시킬 때 필요한 라이브러리 API과 JVM을 함께 묶어 배포되는 패키지
JRE는 Java 애플리케이션 실행을 위한 최소한의 환경을 제공한다.
JRE에는 JVM과 표준 라이브러리가 포함된다.
JVM과 표준 라이브러리(클래스 라이브러리)Java API와 런타임에 필요한 라이브러리Java Code(.java파일) → Java Bite Code(.class 파일)로 컴파일 → JVM을 통해 실행
컴파일된 Java 바이트 코드를 운영체제에 맞게 실행
JVM이다.Garbage Collection을 통해 메모리를 자동으로 관리한다.
Java 프로그램이 어떤 플랫폼에서도 동일하게 실행되도록 한다.
JVM올 인해 Java로 작성 시 컴파일 할 언어를 신경쓰지 않아도된다.Class Loader - 필요한 클래스 파일을 로드한다.Execution Engine - 바이트 코드를 해석하고 실행한다.Garbage Collector - 더 이상 참조되지 않는 객체를 메모리에서 해제한다.JDK는 Java 프로그램을 개발하는데 필요한 도구 모음이다.
JRE는 Java 프로그램을 실행하는 환경이다.
JVM은 Java 프로그램을 실제로 실행하는 가상머신이다.