首页 > 技术文章 > 死磕JVM之类中各部分的加载顺序

pretttyboy 2019-08-09 10:55 原文

话不多说,直接上代码:

1、通过new创建对象实例:

死磕JVM之类中各部分的加载顺序

 

死磕JVM之类中各部分的加载顺序

 

死磕JVM之类中各部分的加载顺序

 

2、当对象中含有静态方法,且调用时:

死磕JVM之类中各部分的加载顺序

 

-- 调用父类静态方法:

死磕JVM之类中各部分的加载顺序

 

死磕JVM之类中各部分的加载顺序

 

死磕JVM之类中各部分的加载顺序

 

死磕JVM之类中各部分的加载顺序

 

总结:

* 类中静态资源首次加载的时间是类中静态资源第一次被调用的时候或者该类的对象第一次被创建的时候

* 类按照 静态成员 --> 静态代码块 --> 普通成员 --> 代码块 --> 构造方法 的顺序来加载.

* 在创建一个类的对象时, 如果该类有父类, 则先执行父类对象的创建, 各部分加载的顺序也是按上述顺序加载

* 别忘了main方法也属于类的静态资源.

推荐阅读