类的加载过程包括 加载,验证,准备,解析,初始化 5个步骤。
-
加载
a.根据类的全限定名获取类的二进制字节流
b.将字节流所代表的静态数据结构转化成方法区的运行时数据结构
c.生成类的class对象,作为方法区该类的访问入口 -
验证
a.文件格式验证,是否符合class文件格式(魔数,版本号等)
b.元数据验证(继承关系,接口实现等)
c.字节码语义验证(控制流,数据流) -
准备
为类变量分配内存并设置初始值(⚠️ 只是静态变量) -
解析
将符号引用转换成直接引用的过程。 -
初始化
真正执行java程序,为初始化类变量,为变量分配内存空间等。
网友评论