Java中何时触发类加载

类加载机制的第一步就是“加载”,
大致可以分为 种情况:

  1. 遇到new、getstatic、putstatic、invokestatic这四条指令,简单点说就是:

    1. 使用new关键在来实例化对象
    2. 读取、修改静态字段
    3. 调用一个类型的静态字段
  2. 使用反射对类型进行调用

  3. 当一个接口中定义了默认方法(JDK8),在初始化这个接口的实现类时,也会触发该接口的加载

总之,简单点说:
只要你在代码中用到了一个类型的静态字段,就会触发类加载,如果该类有父类,则会先触发父类的类加载;如果有接口,先加载这个接口
只有在该类型第一次初始化时才会触发类加载,后续的实例化此类型,就不会触发类加载了

posted @ 2023-05-10 22:56  秋天Code  阅读(35)  评论(0)    收藏  举报  来源