JVM——类加载时机与加载过程
简单说一些重点,详情请参考:JVM类生命周期概述
什么是类加载机制?
类加载的时机是什么?虚拟机什么时候会加载Class文件并初始化类?
有且只有这五种,然而对于JVM来说,不会触发初始化
的情况:
类的加载流程到底是怎样的?
1、加载
③在内存中(方法区
)生成一个代表这个类的java.lang.Class对象
,作为方法区这个类的各种数据的访问入口。
3、准备
:正式为类变量(static 成员变量)
分配内存并设置类变量初始值(零值)
的阶段,这些变量所使用的内存都将在方法区
中进行分配。
5、初始化
:执行类构造器<clinit>()方法的过程,这不是构造方法,而是类构造器,自动收集所有类变量的赋值
动作和静态块
的语句合成类构造器并按照收集顺序依次执行
。