『互联网架构』软件架构-JVM(下)(27)

栏目: Java · 发布时间: 6年前

内容简介:本次说说Class加载器,类的初始化,JDK自带故障排查工具介绍。####Class加载器

本次说说Class加载器,类的初始化,JDK自带故障排查 工具 介绍。

『互联网架构』软件架构-JVM(下)(27)

####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自带故障排查工具介绍

『互联网架构』软件架构-JVM(下)(27)

『互联网架构』软件架构-JVM(下)(27)

『互联网架构』软件架构-JVM(下)(27)

『互联网架构』软件架构-JVM(下)(27)

『互联网架构』软件架构-JVM(下)(27)

『互联网架构』软件架构-JVM(下)(27)

『互联网架构』软件架构-JVM(下)(27)

『互联网架构』软件架构-JVM(下)(27)

『互联网架构』软件架构-JVM(下)(27)

PS:了解好类的初始化,对于开发尤为重要,对于自带的故障排查工具,对于内存分析的时候很有用。

>>原创文章,欢迎转载。转载请注明:转载自,谢谢!>>原文链接地址:上一篇:

已是最新文章


以上所述就是小编给大家介绍的《『互联网架构』软件架构-JVM(下)(27)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

并行计算导论

并行计算导论

Ananth Grama、George Karypis、张武、毛国勇、Anshul Gupta、Vipin Kumar、程海英 / 张武、毛国勇、程海英 / 机械工业出版社 / 2005-1-1 / 49.00元

《并行计算导论》(原书第2版)全面介绍并行计算的各个方面,包括体系结构、编程范例、算法与应用和标准等,涉及并行计算的新技术,也覆盖了较传统的算法,如排序、搜索、图和动态编程等。《并行计算导论》(原书第2版)尽可能采用与底层平台无关的体系结构并且针对抽象模型来设计处落地。书中选择MPI、POSIX线程和OpenMP作为编程模型,并在不同例子中反映了并行计算的不断变化的应用组合。一起来看看 《并行计算导论》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具