Java

JDK란?

개발 공부 2023. 5. 7. 00:01

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