5.3.2. 类¶
5.3.2.1. 生命周期¶
整体来说,Java中类的生命周期如下:加载 (Loading) -> [ 连接 (Linking) : 验证 (Verification) -> 准备 (Perparation) -> 解析 (Resolutin) ] -> 初始化 (Initialization) -> 使用 (Using) -> 卸载 (Unloading) 。
加载过程分为三步:
通过全限定类名来获取定义此类的二进制字节流
将字节流所代表的静态存储结构转化为方法区的运行时数据结构
在内存中生成代表这个类的
java.lang.Class
对象,作为方法区这个类的各种数据的访问入口
验证阶段主要用于确保 Class 文件的字节流符合当前虚拟机的要求,分为几步:
判断文件格式:是否以
0xCAFEBABE
开始,主次版本号是否在处理范围内元数据验证
字节码验证
符号引用验证