java类加载机制ClassLoad

类加载是指JVM 的类加载器把类的class文件读入内存,并创建java.lang.Class对象。

类也是一种对象,所有类都是java.lang.Class的实例

类的连接:验证类是否正确的内部结构;为类的静态Field分配内存,并设置默认值;把类的二进制数据的符号引用替换为直接引用。

类的初始化:对静态Field进行初始化,初始化的时机:

(1)创建类的实例:new创建,反射,反序列化等

(2)调用某个类的静态方法

(3)访问类的静态Field或赋值

(4)反射机制创建Class.forName("Person")

(5)初始化某个类的子类

(6)java命令运行某个主类

特例:final修饰的变量是宏变量,编译时直接替换,不会引起类的初始化

类加载器:根类加载器>拓展类加载器>系统类加载器>用户类加载器

posted @ 2014-02-21 21:02  菜鸟程序员的奋斗&  阅读(378)  评论(0编辑  收藏  举报