内容简介:本次说说Class加载器,类的初始化,JDK自带故障排查工具介绍。####Class加载器
本次说说Class加载器,类的初始化,JDK自带故障排查 工具 介绍。
####Class加载器
JVM结束生命周期:
1.System.exit() 直接就退出了
2.正常运行完
3.异常中止
4.手动kill进程
- 加载
1.取得类的二进制字节流,通过类的全限定名称(包名+类名),类加载器,加载到运行时数据区。
2.把二进制字节流中静态存储结果转化为方法区数据结构。
3.在内存中生成代表这个类的java.lang,Class对象,这里是放在堆中。 -
链接
验证
验证类的格式是否正确
(一)文件格式的验证,class
(二)元数据验证,是否有父类,有父类先加载父类,一般的类都有父类,object
(三)字节码验证,数据流是不是合法的符合逻辑的。方法体进行检测
(四)符号引用验证,访问的时候判断是否有权限来进行引用
准备
为类的静态变量(static修饰)分配内存(方法区),并将启初始化改成默认值
解析
常量池中的引用替换为直接引用
- 初始化
1.如果这个类还没有被加载和链接,那就先加载和链接
2.如果类存在直接的父类,先初始化直接父类
3.如果类存在初始化语句,那就依次初始化语句
####类的初始化
* 主动使用
1. new,创建类的实例对象
2. 反射
3. 调用类的静态方法
4. 初始化类的子类,此时需要先要初始化父类
5. 访问类中的静态变量或者给静态变量赋值
6. Jvm启动的时候的启动类
####JDK自带故障排查工具介绍
PS:了解好类的初始化,对于开发尤为重要,对于自带的故障排查工具,对于内存分析的时候很有用。
>>原创文章,欢迎转载。转载请注明:转载自,谢谢!>>原文链接地址:上一篇:已是最新文章
以上所述就是小编给大家介绍的《『互联网架构』软件架构-JVM(下)(27)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Mining
Jiawei Han、Micheline Kamber、Jian Pei / Morgan Kaufmann / 2011-7-6 / USD 74.95
The increasing volume of data in modern business and science calls for more complex and sophisticated tools. Although advances in data mining technology have made extensive data collection much easier......一起来看看 《Data Mining》 这本书的介绍吧!