读书笔记之《深入JAVA虚拟机》-----(二)



 第七章 类的生命周期
1.类的生命周期:装载à连接(验证à准备à解析(可选))à初始化。
2.任何一个类的初始化都要求它的超类已经初始化,接口就不需要。
3.类在首次主动使用时初始化。
4装载过程:
通过全限定名获得二进制数据流
解析流为方法区的内部数据结构
创建一个代表该类型的CLASS类实例。
5.类装载器在预先装载时遇到缺失或错误的CLASS文件,它必须等到程序首次主动使用该类时才报告错误。
6.验证:在解析时需要验证,在装载时需要验证超类已被装载,在验证阶段结束后还需要有符号引用的验证,一般采用数据流分析器进行验证。
7.准备:分配内存,设置为默认初始值,即JAVA定义的默认值。
8解析:在类型的常量池中寻找类,接口,字段和方法的符号引用,并替换成直接引用。
9初始化:
为类变量赋予程序员设定的初始值
JAVA编译器为类初始化语句及静态初始化语句生成一个CLASS文件的()方法,但如果没这些语句就不

你可能感兴趣的:(读书笔记之《深入JAVA虚拟机》-----(二))