JAVA이야기

클래스 로딩-2

НooпeУ 2011. 7. 28. 15:04

시스템 로더 클래스
는 가상 머신이 처음에 애플리케이션 클래스르 로딩하기 위해 사용하는 클래스 로더를 말한다.
부트스트랩 클래스 로더는 가상 머신 소속의 클래스들 (Object, String ,List)을 로딩하기 위한 클래스 로더이다.
 
시스템 클래스는 부트스트랩 클래스 로더가 로딩
애플리케이션 클래스는 시스템 클래스 로더가 로딩

시스템 클래스 중 한 개의 인스턴스에서 getClassLoader를 호출하면 보통 null을 반환
이것은 부트 스트랩 로더가 로딩했다는 것을 뜻함

//사용자 정의 클래스는 AppClassLoader가 로딩한다.
ClassLoader cl = null;
for(cl = Game.class.getClassLoader(); cl != null;cl = cl.getParent()){
System.out.println(cl);
}
System.out.println(cl);

//결과
sun.misc.Launcher$AppClassLoader@19821f
sun.misc.Launcher$ExtClassLoader@addbf1
null