本文参考了周志明的《深入理解java虚拟机》,写的非常好!
类型初始化的时机-主动使用:
- 使用new实例化一个对象的时候。
- 调用一个类的静态方法。
- 调用一个类的静态字段(非编译期已知的常量)。
- 使用反射调用其相应方法的时候。
- 带有main方法的类。
- 调用一个类的子类,父类还没有初始化。
不会引起类型初始化的时机-被动使用:
- 调用一个类的static final编译期已知的常量时。
- 通过子类调用父类的static常量
- 使用类型数组定义
本文深入探讨Java中类型初始化的时机,包括主动使用如new实例化、调用静态方法等,及被动使用如调用static final常量等情况。帮助读者更好地理解Java虚拟机的工作原理。
本文参考了周志明的《深入理解java虚拟机》,写的非常好!
类型初始化的时机-主动使用:
- 使用new实例化一个对象的时候。
- 调用一个类的静态方法。
- 调用一个类的静态字段(非编译期已知的常量)。
- 使用反射调用其相应方法的时候。
- 带有main方法的类。
- 调用一个类的子类,父类还没有初始化。
不会引起类型初始化的时机-被动使用:
1652

被折叠的 条评论
为什么被折叠?