JVM 对类进行初始化的六种情况

1. 使用 New 关键字实例化对象的时候。

2. 读取或设置一个类的静态字段的时候。

3. 调用一个类的静态方法的时候。

4. 通过java.lang.reflect包中的方法对类进行反射调用的时候。

5. 当初始化一个类时,发现其父类还没有进行初始化,则需要先触发其父类初始化。

6. 当虚拟机启动时,用户需要指定一个要执行的包含 main 方法的主类,虚拟机会初始化这个主类。

参考:《深入理解Java虚拟机》

posted @ 2012-07-25 16:29  zhenxu.liu  阅读(265)  评论(0编辑  收藏  举报