虚拟机4种必须立刻对类进行初始化
1.遇到new、getstatic、putstatic、invokestatic这四条字节码指令时,如果类没有进行初始化,则需要触发其初始化。应用场景:使用关键字new实例化对象的时候,读取获设置类的静态字段的时候,以及调用一个静态方法的时候。
2.使用java.lang.reflect的方法对类进行反射调用的时候,如果类没有进行初始化,则需要触发其初始化。
3.当初始化一个类的时候,如果发现其父类还没初始化,则需要触发其父类的初始化。
4.当虚拟机启动时,用户需要指定一个需要执行的主类(main()方法),虚拟机会先初始化主类。
Java类的初始化
最新推荐文章于 2023-05-15 20:55:39 发布