设为首页 加入收藏

TOP

深入理解和探究Java类加载机制(二)
2015-07-16 12:55:23 来源: 作者: 【 】 浏览:3
Tags:深入 理解 探究 Java 加载 机制
M将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)



1) 装载:


  查找并加载类的二进制数据;


2)链接:


  验证:确保被加载类信息符合JVM规范、没有安全方面的问题。


  准备:为类的静态变量分配内存,并将其初始化为默认值。


  解析:把虚拟机常量池中的符号引用转换为直接引用。


3)初始化:


  为类的静态变量赋予正确的初始值。


ps:解析部分需要说明一下,Java 中,虚拟机会为每个加载的类维护一个常量池【不同于字符串常量池,这个常量池只是该类的字面值(例如类名、方法名)和符号引用的有序集合。 而字符串常量池,是整个JVM共享的】这些符号(如int a = 5;中的a)就是符号引用,而解析过程就是把它转换成指向堆中的对象地址的相对地址。


类的初始化步骤:


1)如果这个类还没有被加载和链接,那先进行加载和链接


2)假如这个类存在直接父类,并且这个类还没有被初始化(注意:在一个类加载器中,类只能初始化一次),那就初始化直接的父类(不适用于接口)


3)如果类中存在static标识的块,那就依次执行这些初始化语句。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Bash函数简述 下一篇Java内部类总结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: