요약
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 폴더는 "바이너리"의 줄임말이다.
이 폴더에는 자바 프로그램 개발 및 실행에 사용하는 다양한 실행 파일들이 포함되어 있다.
- javac: Java 컴파일러. 자바 소스 코드를 컴파일하여 바이트코드로 변환하는 데 사용(중요)
- java: 자바 가상 머신(JVM)을 실행하는 데 사용. (중요)
- jar: 자바 애플리케이션 및 라이브러리를 패키징하는 데 사용.
- javadoc: 소스 코드의 주석을 기반으로 API 문서를 생성하는 데 사용.
- javap: 클래스 파일의 바이트코드를 역어셈블하여 자바 소스 코드로 표시하는 데 사용. (중요)
그 외 JDK에서 제공하는 다양한 유틸리티 도구들도 bin 폴더에 위치하고 있다.
bin 폴더는 JDK 설치 후에 시스템 PATH 환경 변수에 추가해야 한다.
환경변수 등록이 끝난다면 터미널이나 명령 프롬프트 IDE 등에서 자바 개발 및 실행에 필요한 도구들을 사용할 수 있다.
2.2 conf
conf 폴더는 JDK의 구성과 관련된 설정 파일을 포함하는 디렉토리다.
- security 폴더: JDK의 보안 관련 설정 파일들이 들어있는 폴더. 암호화 알고리즘, 암호화 키 저장소, 보안 정책 파일 등이 여기에 위치한다.
- net.properties: JDK에서 사용하는 네트워크 관련 설정과 관련된 properties 파일.
- logging.properties: JDK의 로깅 시스템을 구성하는 데 사용되는 파일. JDK 내부의 로깅 메시지의 출력 형식, 로깅 레벨, 로그 파일 위치 등을 설정.
- management 폴더: JDK의 관리 및 모니터링 관련 설정 파일들이 들어있는 폴더. 예를 들어, JMX(Java Management Extensions) 관련 설정 파일이 여기에 위치한다.
- deployment 폴더: (캡쳐본에는 없지만) JDK에서 사용하는 배포 관련 설정 파일들이 들어있는 폴더. 예를 들어, 애플릿 및 Java 웹 시작 애플리케이션 관련 설정 파일들이 여기에 위치한다.
이 폴더의 파일들은 주로 JDK의 동작을 사용자가 원하는 대로 구성하거나 수정하기 위해 사용된다. 일반적으로 이러한 파일들은 JDK의 기본 설정이 일반적으로 충분하지만 특정한 상황에서는 설정 파일을 수정하여 JDK의 동작을 변경할 수 있다.
'컴퓨터 > Java' 카테고리의 다른 글
[JVM] JVM 동작 과정 - | 클래스로더, 실행엔진, 가비지 컬렉션 (0) | 2024.12.19 |
---|---|
[레거시분석] 메모리 관점에서 참조형 객체 초기화 방법 (new, null) (0) | 2024.10.22 |
[Java] List<Map<String, Object>> 을 List<Map<String, String>> 으로 형변환하기 (0) | 2023.02.27 |
[Java 공부] 프로그래밍 언어와 Java 의 특징 (2) | 2022.04.03 |
[JAVA] 이것이 자바다 (신용권, 한빛미디어) 6단원 연습문제_5번 풀이 (0) | 2021.11.10 |
댓글