본문 바로가기

java

ClassLoader

ClassLoader

- java 파일을 컴파일 후 Compile된 파일을 Load하여 필요한 클래스 정보를 적재함. 클래스 로더는 로드한 클래스의 필요한 클래스 정보를 로드한 적이 있다면 Cache에서 찾고 Cache에 없다면 부모 ClassLoader에서 찾고 부모에도 없다면 Self로 찾는다.

클래스 로더는 계층적 구조를 갖는다.


1. BootStrapClassLoader

 - 최상위 클래스 로더로써 java가 필요한 기본 클래스 정보를 로드한다.

 - JAVA_HOME/jre/lib/rb.lib 파일을 로드함

2. ExcentionClassLoader

 - java에서 필요한 부가 정보를 로딩한다

 - JAVA_HOME/lib/ex/*.lib 을 로드함

3. SystemClassLoader

 - java classpath로 정의된 파일이나 -cp or -classpath로 설정된 파일을 load한다

4. UserDefined ClassLoader

 - 사용자가 소스에서 정의한 Class들을 로드한다.







'java' 카테고리의 다른 글

람다 정리  (0) 2017.11.15
Java HashMap동작 원리  (0) 2017.10.16
GabageCollector  (0) 2017.10.14
GarbageCollection  (0) 2017.10.13
String StringBuider SttringBuffer 차이  (0) 2017.10.13