java 类是怎么加载的
内容摘要
类加载,就是读取 .class 文件到内存中,放入方法区,并在堆区创建一个 java.lang.Class 类型的对象,这个对象封装了类在方法区内的数据结构。类加载发生在何时?一般在类被使用时发
文章正文
类加载,就是读取 .class 文件到内存中,放入方法区,并在堆区创建一个 java.lang.Class 类型的对象,这个对象封装了类在方法区内的数据结构。
类加载发生在何时?一般在类被使用时发生,包括下面 6 种情况:
– 使用 new 关键字创建类示例;
– 访问静态变量;
– 调用静态方法;
– 反射(如 Class.forName(“com.shengsiyuan.Test”));
– 初始化子类,其父类也会被初始化;
– java 虚拟机启动时被标明为启动类的类(如:Java Test)。
java 虚拟机何时结束生命周期,包含下面 4 中情况:
– 执行了 System.exit() 方法;
– 程序正常执行结束;
– 程序在执行过程中遇到了异常或错误而终止;
– 操作系统出现错误导致虚拟机进程终止。
代码注释
[!--zhushi--]