文章目录
一、类加载初始化时机
二、常量加载示例
三、数组加载示例
一、类加载初始化时机
----
类加载时机 : Java 程序执行时 , 并不是一开始将所有的字节码文件都加载到内存中 , 而是用到时才进行加载...main 函数的类 , 会默认自动加载 ;
调用子类 , 如果之前没有加载过父类 , 则 自动加载父类 ;
访问 类 的 静态变量
有些类加载操作 , 不需要执行 加载 -> 连接 ( 验证 , 准备...;
二、常量加载示例
----
类加载时 , 如果只用到了类中的常量 , 则只进行 " 加载 -> 连接 ( 验证 , 准备 , 解析 ) " 两个过程 :
public class Student...:
上述 Student 类中的 静态代码块 没有被执行 , 说明 类加载 的流程中 , " 初始化 " 步骤 , 没有被执行 ;
找到 Student.class 字节码文件 , 然后使用
javap...创建数组时 , 触发的是 Student[] 数组类型的 类加载初始化 , 但是不会触发 Student 类的初始化操作 ;
如果调用数组中的元素时 , 就需要初始化 Student 类 ;
Student