classloader的两种载入方式:1)pre-loading预先载入,载入基础类 2)load-on-demand按需求载入
只有实例化一个类才会被classloader载入,仅仅申明并不会载入
java动态载入class的两种方式:
1)implicit隐式,即利用实例化才载入的特性来动态载入class
2)explicit 显式方式,又分两种方式:
1)java.lang.Class的forName()方法
2)java.lang.ClassLoader的loadClass()方法
static块在什么时候执行?
1)当调用forName(String)载入class时执行,如果调用 ClassLoader.loadClass并不会执行.forName(String,false,ClassLoader)时也不会执行.
2) 如果载入Class时没有执行static块则在第一次实例化时执行.比如new ,Class.newInstance()操作
3)static 块仅执行一次
http://www.ibm.com/developerworks/cn/java/j-lo-classloader/index.html

7万+

被折叠的 条评论
为什么被折叠?



