티스토리 뷰

Java

클래스 로더(Class Loader)의 특징 및 유형

일상의 기록을 남긴다 2018. 8. 31. 10:54

JVM 이 클래스를 실행하기 위해서는 클래스를 로딩하는 과정이 필요한데 그 역할을 하는 것이 클래스 로더이다.


# 클래스 로더의 특징


1. 계층적 구조


2. 클래스 로딩의 위임


3. 가시적인 규약 : 가시적인 규약이란, 클래스를 로딩할 때 가능한 범위


4. 클래스 언로딩 불가능 : 클래스 로더로 로딩한 클래스들을 언로딩 할 수 없다. 따라서 가비지 컬렉터가 동작하거나 WAS가 재시작할 때 초기화 된다.





# 클래스 로더의 유형


1. 부트스트랩 클래스 로더 (Bootstrap Class Loader)

=> JVM 런타임 실행을 위한 기반이 되는 파일들을 로드한다. 부트스트랩 로더는 rt.jar 파일과 연관이 있다.


2. 확장 클래스 로더 (Extension Class Loader)

=> 자바의 최상위 객체인 Object를 포함한 자바 API를 로드한다. 자바 홈 폴더 하위의 ext 폴더 하위에 있는 JAR 파일들과 연관이 있다.


3. 시스템 클래스 로더 (System Class Loader)

=> 클래스 패스(class path)에 포함된 클래스들을 로드한다.


4. 사용자 정의 클래스 로더( User-defined Class Loader)

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함