8、类加载机制

类加载机制

一、类的生命周期 

二、5种情况必须对类进行“初始化”

1、new 对象

2、反射的时候

3、父类没有初始化的时候,需要先初始化父类

4、Main入口,需要初始化这个类

5、代理invoke时

三、类加载全过程(加载-验证-准备-解析-初始化)

加载过程:

  1、获取class文件的二进制流;

  2、根据class的格式化数据结构,在方法区生成运行时的数据结构;

  3、生成class对象,作为方法区的入口;

   

验证:

  1、验证文件格式,如开头是否时CAFEBABE(这个魔头实在太好记了)

  

准备:

  1、为statics 等字段在方法区分配空间,并设置初值。0 null 之类的;

猜你喜欢

转载自www.cnblogs.com/yeyongjian/p/9253035.html
今日推荐