본문 바로가기
java/개념

모듈

by unhyepnhj 2024. 6. 2.

모듈

- JAVA 9에서 도입된 개념

- 패키지와 이미지 등 리소스를 담은 컨테이너

- 모듈 파일(.jmod)로 저장


자바 플랫폼의 모듈화

- 자바 개발 환경(JDK)과 실행 환경(JRE)을 지칭(Java SE 포함)

- 자바 API의 모든 클래스가 여러 개의 모듈로 재구성

- 모듈 파일은 JDK의 jmods 디렉터리에 저장하여 배포

- jmod 파일은 ZIP으로 압축

jmod extract "C:\Program Files\JAVA\jdk-10\jmods\java.base.jmod"

- 현재 디렉터리의 jaba.base 모듈이 풀림


모듈 기반의 자바 실행 환경

 

자바 실행 환경(java run time environment)
- 자바 응용프로그램이 실행되는 데 필요한 환경

- 자바 API 클래스와 자바 가상 기계(JVM) 등으로 구성

비교 관점 JAVA 8까지 JAVA 9 이후 
자바 API 클래스의 컨테이너 - rt.jar 단일체에 자바 API 패키지들을 모두 담음 - rt.jar 사용x
- 자바 API를 많은(99개) 모듈 파일에 나누어 저장
디폴트 실행 환경 - 실행되는 컴퓨터에 rt.jar 설치(용량 큼) - modules(JRE lib 밑) 비공개 파일에 모듈 저장
- 응용프로그램 실행 시 modules 파일에서 필요한 모듈 및 클래스 로딩 
맞춤형 실행 환경(custom JRE) - 없음
- 소형 기기에 rt.jar 설치 불가
- 맞춤형 실행 환경 구축 가능
- jlink 명령을 이용하여 응용프로그램 실행에 필요한 모듈들로 실행 환경 구출 가능
- 메모리가 열악한 소형 기기에도 응용프로그램 실행 가능 


자바 모듈화의 목적

- 자바 컴포넌트들을 필요에 따라 조립하여 사용

- 컴퓨터 시스템의 불필요한 부담 감소

- 소평 IoT 장치에도 자바 응용프로그램이 실행되고 성능을 유지하게 함 

'java > 개념' 카테고리의 다른 글

Object 클래스  (0) 2024.06.02
JDK에서 제공하는 패키지  (0) 2024.06.02
패키지 만들기  (0) 2024.06.02
import와 클래스 경로  (0) 2024.05.23
패키지(package)  (0) 2024.05.23