触发类的初始化五种场景

363 阅读1分钟

字节码指令new getstatic putstatic invokestatic 场景: 实例化一个对象,获取、设置静态属性,调用静态方法(final 修饰的除外)

调用 java.lang.reflect反射包里面的方法时,如果类没有初始化,需要首先对类进行初始化

当子类初始化时,发现父类没有初始化,首先对父类进行初始化

虚拟机启动时指定的主类首先进行初始化

动态语言支持java.lang.reflect.MethoodHandle实例之后的结果是一个静态方法,并且没有初始化过,首选触发对应类的初始化

--------------------------end-------------------------

对你有帮助的话,记得点个赞👍

  • [六十七点五 ]

--------------------------end-------------------------