JVM加载中初始化时机?什么时候不会进行初始化?

初始化的过程是给静态变量赋予指定值以及执行静态代码块的过程。
当遇到new,getstatic,putstatic,invokestatic指令时要进行初始化,也就是new实例化对象,调用静态变量以及静态方法时要对类进行初始化,第二就是如果初始化一个类,发现他的父类没有初始化,就需要先初始化他的父类。还有一些不需要初始化的时候,如子类调用父类的静态变量,只会触发父类初始化,不会触发子类初始化,第二就是如果使用的字段是常量,即static final修饰的,那么也不会触发类的初始化,还有就是使用forname方法,initialization置为false也不会触发初始化,loadclass方法也不会触发初始化。

posted @ 2022-11-21 01:44  不要给我歪!  阅读(26)  评论(0编辑  收藏  举报