今天研究了一下classloader,分享了一篇文章http://www.iteye.com/topic/83978
一直想找一本介绍JVM的书来看,这回算是找到了《inside JVM》。
顺便也写了一个测试程序:
console:
一直想找一本介绍JVM的书来看,这回算是找到了《inside JVM》。
顺便也写了一个测试程序:
public class A {
static{
System.out.println("static");
}
public A(){
System.out.println("constructor");
}
}
public class TestLoader {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ClassLoader cl = TestLoader.class.getClassLoader();
System.out.println("***********************load without resovle:");
try {
cl.loadClass("A");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("***************************load with resovle:");
try {
Class<A> aclass = (Class<A>)Class.forName("A");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("**************************initialize:");
A a = new A();
}
}
console:
***********************load without resovle:
***************************load with resovle:
static
**************************initialize:
constructor