본문 바로가기
컴퓨터/Java

[Java] JavaSE, JDK, JRE 의미, JDK 의 주요 디렉토리 및 exe 정리

by 버니케이 2024. 5. 3.
반응형

 

요약

JavaSE의 구현체는 
자바개발키트(JDK: Java Development Kit), 
자바실행환경(JRE: Java Runtime Environment) 두 버전이 있다.




JDK는 자바 애플리케이션을 개발하는 데 필요한 도구와 라이브러리 포함
JRE는 자바 애플리케이션을 실행하는 데 필요한 런타임 환경 제공




bin
자바 애플리케이션을 개발하고 실행하기 위한 폴더
- javac(컴파일)/java(JVM구동)/javap(역어셈블)

conf
JDK의 구성과 관련된 설정 파일 포함

lib
자바 애플리케이션을 실행할 때 필요한 핵심 라이브러리 포함


 

 

 

 

 

 

 

 

 

1. JavaSE 구현체

 

JavaSE의 구현체는

자바개발키트(JDK: Java Development Kit),

자바실행환경(JRE: Java Runtime Environment)

 

두 버전이 있다.

 

 

 

다음은 oracle 에서 제공한 JavaSE 구현체를 시각화 한 자료이다.

 

JDK(Java Development Kit)는 자바 애플리케이션을 개발하는 데 필요한 도구와 라이브러리 포함
JRE(Java Runtime Environment)는 자바 애플리케이션을 실행하는 데 필요한 런타임 환경 제공

 

 

그림에서 알수있듯이  JDK JRE를 포함하고 있다.

이를 실제로 확인해보기 위해 설치된 jdk 를 확인해본다.

 

 

 

 

2. jdk

 

JDK(Java Development Kit)는 자바 애플리케이션을 개발하는 데 필요한 도구와 라이브러리

를 포함한다.

(캡쳐본은 JDK 11 버전이다.)

 

bin
자바 애플리케이션을 개발하고 실행하기 위해 사용하는 다양한 실행 파일을 포함한다.

conf
JDK의 구성과 관련된 설정 파일을 포함한다.

lib
자바 애플리케이션을 실행할 때 필요한 핵심 라이브러리를 포함한다.

 

 

 

JDK 버전에 따라 폴더 구조와 내용물에 차이가 있을 있다.

특히 JDK 9 에서는 모듈 시스템의 도입으로 인해 많은 변화가 있다.

따라서 JDK 공부를 하실 분들은 버전에 따라 상세 내용을 확인하는 것이 좋다.

 

(예를들어, ext 폴더: 이 폴더는 확장 라이브러리를 위한 곳이였지만 JDK 9부터 확장 메커니즘이 제거되었기 때문에, 최신 버전의 JDK에서는 이 폴더를 찾아볼 수 없다. )

 

여기서는 공통된 주요 파일을 알아본다.

 


 

2-1. bin

 

JDK bin 폴더는 "바이너리"의 줄임말이다. 

이 폴더에는 자바 프로그램 개발 및 실행에 사용하는 다양한 실행 파일들이 포함되어 있다.

 

 

  1. javac: Java 컴파일러. 자바 소스 코드를 컴파일하여 바이트코드로 변환하는 데 사용(중요)
  2. java: 자바 가상 머신(JVM)을 실행하는 데 사용. (중요)
  3. jar:  자바 애플리케이션 및 라이브러리를 패키징하는 데 사용.
  4. javadoc:  소스 코드의 주석을 기반으로 API 문서를 생성하는 데 사용.
  5. javap: 클래스 파일의 바이트코드를 역어셈블하여 자바 소스 코드로 표시하는 데 사용. (중요)

 

JDK에서 제공하는 다양한 유틸리티 도구들도 bin 폴더에 위치하고 있다.

 

 

bin 폴더는 JDK 설치 후에 시스템 PATH 환경 변수에 추가해야 한다.

환경변수 등록이 끝난다면 터미널이나 명령 프롬프트 IDE 에서 자바 개발 및 실행에 필요한 도구들을 사용할 수 있다.

 


2.2 conf

 

conf 폴더는 JDK의 구성과 관련된 설정 파일을 포함하는 디렉토리다.

 

  1. security 폴더:  JDK의 보안 관련 설정 파일들이 들어있는 폴더. 암호화 알고리즘, 암호화 키 저장소, 보안 정책 파일 등이 여기에 위치한다.
  2. net.properties: JDK에서 사용하는 네트워크 관련 설정과 관련된 properties 파일.
  3. logging.properties: JDK의 로깅 시스템을 구성하는 데 사용되는 파일. JDK 내부의 로깅 메시지의 출력 형식, 로깅 레벨, 로그 파일 위치 등을 설정.
  4. management 폴더: JDK의 관리 및 모니터링 관련 설정 파일들이 들어있는 폴더. 예를 들어, JMX(Java Management Extensions) 관련 설정 파일이 여기에 위치한다.
  5. deployment 폴더: (캡쳐본에는 없지만) JDK에서 사용하는 배포 관련 설정 파일들이 들어있는 폴더. 예를 들어, 애플릿 및 Java 웹 시작 애플리케이션 관련 설정 파일들이 여기에 위치한다.

 

이 폴더의 파일들은 주로 JDK의 동작을 사용자가 원하는 대로 구성하거나 수정하기 위해 사용된다. 일반적으로 이러한 파일들은 JDK의 기본 설정이 일반적으로 충분하지만 특정한 상황에서는 설정 파일을 수정하여 JDK의 동작을 변경할 수 있다.

 

 

 

 

반응형

댓글