1.在如下几种情况,java虚拟机将结束生命周期
- 执行了System.exit();方法
- 程序正常执行结束
- 程序在执行过程中遇到了异常或错误而异常终止
- 由于操作系统出现错误而导致Java虚拟机进程终止
2.类的加载、连接与初始化
-加载:查找并加载类的二进制数据(把Class文件加载到内存中)
-连接 : a.验证:确保被加载的类的正确性
b.准备:为类的静态变量分配内存,并将其初始化为默认值
c. 解析:把类中的符号引用转换为直接引用
-初始化:为类的静态变量赋予正确的初始值
public class Test{
private static int a = 3;
}
//Demo 中 a 的最终值为3 其中连接阶段 a 的值为初始默认值 0, 初始化阶段 静态变量a赋予正确的初始值 3
3.Java程序对类的使用方式分为两种:
-主动使用
-被动使用
4.类的加载
类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构