JDK란?

2023. 5. 7. 00:01·Java

JDK (Java Development Kit)

Java로 소프트웨어를 개발할 수 있도록 여러 기능들을 제공하는 패키지(키트)라고 한다.

 

JDK 구성

엄청 많은데, 그냥 내가 여러번 들어본 것만 우선 정리해보았다.

  • apt : 어노테이션 툴
  • appletviewer : 웹브라우저 없이 자바 애플릿을 실행하고 디버깅하기 위한 툴
  • javac : 자바 컴파일러. 자바 소스파일을 바이트코드로 변환
  • java : javac가 만든 클래스 파일을 해석 및 실행
  • jar : 서로 관련있는 클래스 라이브러리들과 리소스를 하나의 파일로 묶어주는 툴
  • jdb : 자바 디버깅 툴
  • JRE(Java Runtime Enviroment) : Java가 동작하는데 필요한 JVM, 라이브러리 등 다양한 파일들을 포함한다. 작성된 자바 코드를 JVM에 넘겨 실행시켜준다.
  • JVM(Java Virtual Machine 자바 가상 머신) : Java가 실제로 동작하는 가상 환경. 자바 프로그램이 다양한 OS 혹은 기기에서도 원활히 실행될 수 있게 해준다. 이 JVM덕분에 하나의 Java프로젝트를 개발해도 여러 환경에서 원활하게 실행시킬 수 있다! 또한 메모리도 효율적으로 관리해주며 이를 Garbage Collection이라고 한다.

 

JDK 종류

  1. Java SE : Java Platform , Standard Edition
    표준 자바 플랫폼으로 표준적인 컴퓨팅 환경을 지원하기 위한 자바 가상머신 규격 및 API 집합을 포함한다.
    JavaEE, JavaME는 구체적인 목적에 따라 자바 SE를 기반으로 API를 추가하거나 자바 가상머신 규격 및 API의 일부를 택하여 정의된다.
  2. Java EE : Java Platform , Enterprise Edition
    JavaSE에 웹 어플리케이션 서버에서 동작하는 기능을 추가한 플랫폼
    이 스펙에 따라 제품을 구현한 것을 웹 어플리케이션 서버(WAS)라 한다. ex. tomcat
WAS와 웹 서버의 차이점 (링크)

 

참고로 Apache는 http 요청을 처리하는 웹서버이며, tomcat은 WAS 다.

 

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

결론.

  • JavaSE는 Java가 어떠한 문법적인 구성을 가졌는지와 같은 것들을 나타내는 명세표이다. JavaSE를 기반으로 특정 기능을 구현하기 위한 JavaEE, JavaME 플랫폼도 있다.
  • JDK는 JavaSE와 같은 규격을 토대로 만들어진 소프트웨어 패키지이다. 이는 Java를 개발 및 실행하는 데 필요한 툴들을 제공한다.
  • JRE가 Java를 실행하는데 필요한 바로 그 툴이다.

아래의 글들을 참조하였습니다. 감사합니다🥰

https://velog.io/@shelly/JAVA-JDK%EB%9E%80

 

[JAVA] JDK란?

JDK에 관하여

velog.io

https://pythontoomuchinformation.tistory.com/277

 

JDK란? + JRE, JVM 총 정리

JDK란? Java Development Kit 자바 개발 키트 개발자들이 Java로 프로그램을 만들 수 있도록 다양한 기능을 제공하는 키트. 컴파일러, JRE, JVM 등의 도구들을 가지고 있다. 일반 사용자들이 자바로 만든 프

pythontoomuchinformation.tistory.com

 

'Java' 카테고리의 다른 글

mac에 설치된 Java 버전 확인, 삭제  (0) 2025.04.11
java | map 선언과 사용  (0) 2023.04.16
java | 문자열 날짜로 변환 (string -> date)  (0) 2023.04.16
TIL | compareTo(), compareToignorecase()  (0) 2022.10.25
TIL | Java - API java.lang 패키지  (0) 2022.10.19
'Java' 카테고리의 다른 글
  • mac에 설치된 Java 버전 확인, 삭제
  • java | map 선언과 사용
  • java | 문자열 날짜로 변환 (string -> date)
  • TIL | compareTo(), compareToignorecase()
개발 공부
개발 공부
  • 개발 공부
    개발 공부
    개발 공부
  • 전체
    오늘
    어제
    • 전체보기 (162)
      • 프로젝트 (1)
      • JavaScript (45)
      • Node.js (3)
      • Next.js (5)
      • React (17)
      • NoSQL (0)
      • HTML,CSS (3)
      • CS (6)
      • Java (35)
      • Spring (6)
        • Spring의 정석 (1)
      • Spring boot (1)
      • MySQL (1)
      • 리눅스 (16)
      • JSP (9)
      • AWS (0)
      • git (2)
      • 알고리즘 (1)
      • ect (7)
      • Project (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Java
    자바의 정석
    Java의 정석
    자바
    티스토리챌린지
    오블완
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
개발 공부
JDK란?
상단으로

티스토리툴바