• JDK

    Java Development Kit의 약자로 자바 개발 키트.

    JDK안에는 자바를 개발 시 필요한 라이브러리들과 javac, javadoc 등의 개발 도구들을 포함

    개발을 하려면 자바 프로그램을 실행도 시켜줘야 하기에 JRE도 포함

    자바는 워낙에 유명한 프로그래밍 언어이기 때문에 JDK도 여러가지 종류로 나뉨.

    Oracle JDK, Open JDK, Azul zulu, Amazon Corretto

    • bin 디렉토리에 들어 있는 개발 프로그램
      • javac : 자바 컴파일러로 자바 소스를 바이트 코드로 컴파일
      • java : 자바 인터프리터. 컴파일러가 생성한 바이트 코드를 해석하고 실행
      • javadoc : 자바 소스로부터 HTML 형식의 API 도큐먼트 생성
      • jar : 자바 클래스 파일을 압축한 자바 아카이브 파일생성, 관리하는 압축 프로그램
  • JRE

    Java Runtime Environment의 약자로 자바 프로그램을 실행시킬 때 필요한 라이브러리 API를 함께 묶에서 배포되는 패키지.

    JRE는 기본적으로 JDK에 포함되어 있기에 JDK를 설치하면 함께 설치

  • JVM

    Java Virtual Machine의 약자로 자바를 돌리는 프로그램이라고 생각

    자바 프로그램을 실행하기 위해서는 반드시 JVM이 설치되어야 함

    JVM을 사용하면 자바 프로그램을 모든 플랫폼에서 제약 없이 동작하도록 가능

    ⇒ Java 언어로 작성한 소스파일은 직접 운영체제로 가서 실행하는 것이 아닌, JVM을 거쳐서 운영체제와 상호작용

    ⇒ JVM만 있으면 운영체제가 리눅스든, 맥이든 관계없이 운영체제로부터 독립적으로 프로그램을 제약없이 실행

    Screenshot 2025-03-18 at 4.32.57 PM.png

    Screenshot 2025-03-18 at 4.33.29 PM.png

    1. 소스코드를 작성
    2. 컴파일러는 자바 소스코드를 이용하여 클래스 파일을 생성. 컴파일 된 클래스 파일은 JVM이 인식할 수 있는 바이트 코드 파일임
    3. JVM은 클래스 파일의 바이트 코드를 해석하여 바이너리 코드로 변환하고 프로그램을 수행
    4. 수행 결과가 컴퓨터에 반영
  • 정리

    • JDK : 개발에 필요한 도구(컴파일러 등) 포함 / JRE, javac, jar 도구 등
    • JRE : 자바 프로그램을 실행하는데 필요한 환경 / JVM, Java API
    • JVM : 바이트코드를 실행하는 가상 머신 / 힙 스택 등 메모리 관리 / .class 파일 로드