ClassLoader [ClassLoader] Thread의 getContextClassLoader() pdf: http://www.theserverside.com/tt/articles/content/dm_classForname/DynLoad.pdf 먼저 간단한 퀴즈로 시작하는.. 긴 문서.. 이 코드가 문제를 일으킬 수 있는 상황은 저 클래스를 자바 Extentions 폴더 (<JDK>/jre/lib/ext 또는 <JRE>/lib/ext)에 놓았을 경우입니다. 그렇지 않고 그냥 CLASSPATH에 둘었다면
ClassLoader [ClassLoader 퀴즈 6] SpringSprout는 과연 Whiteship의 이름을 알 수 있을까? @Test public void illegalAccessException() throws Exception { FileUrlClassLoader fUCL1 = new FileUrlClassLoader(CLASSPATH, null); Class whiteshipClass = fUCL1.loadClass(WHITESHIP); Object whiteship = whiteshipClass.newInstance();
ClassLoader [ClassLoader 퀴즈 5] Whiteship은 언제 로딩 될까? public class SpringSprout { Whiteship2 whiteship; public void makeWhiteship(){ whiteship = new Whiteship2(); } } 이런 클래스가 있을 때 SpringSprout가 참조하는 Whiteship2는 과연 언제 클래스로더에 의해 로딩이 될까요? SpringSprout를 로딩할 때? SpringSprout 객체를 생성할 때? Whiteship2 인스턴스를 생성할
ClassLoader [ClassLoader 퀴즈 2] Whiteship은 내가 데려왔다!! 첫번째 문제를 맞추셨다면 클래스로더 계층 구조를 이해하고 있다고 볼 수 있겠습니다. 제가 작성한 코드를 보면 제가 어떤걸 원했는지 짐작하실 수 있을 겁니다. @Test public void loadLocal() throws Exception { URL url = new URL(“file:C:/intellij9-workspace/springsprout2/
ClassLoader [ClassLoader 퀴즈 1] Whiteship은 대체 누가 데려온 것일까? 어제 면접 볼 때 받은 질문이기도 하다. 지금 내가 있는 회사에 어떻게 들어가게 됐으며 누가 데려갔고 그 사람을 어떻게 알게 됐느냐는 질문을 받았었다. 당시 난 클래스로더가 떠올랐다. 대체 누가 날 로딩한 걸까. 사부? Toby? 그 둘은 같은 사람일까? @Test public void appClassLoader() throws Exception
ClassLoader [Java] ClassLoader API http://java.sun.com/javase/6/docs/api/java/lang/ClassLoader.html 클래스를 로딩하는 책임을 지니고 있는 추상 클래스. 기본전략: 바이너리 이름(String)을 받아서 파일 이름으로 바꾸고 파일 시스템에서 해당하는 이름의 클래스 파일을 읽어들인다. 위임 모델(delegation model)을 사용하여 클래스와 리소스를 찾는다. 각각의 ClassLoader 인스턴스는 연관된 상위(