Java中何时触发类加载
类加载机制的第一步就是“加载”,
大致可以分为 种情况:
-
遇到new、getstatic、putstatic、invokestatic这四条指令,简单点说就是:
- 使用new关键在来实例化对象
- 读取、修改静态字段
- 调用一个类型的静态字段
-
使用反射对类型进行调用
-
当一个接口中定义了默认方法(JDK8),在初始化这个接口的实现类时,也会触发该接口的加载
总之,简单点说:
只要你在代码中用到了一个类型的静态字段,就会触发类加载,如果该类有父类,则会先触发父类的类加载;如果有接口,先加载这个接口
只有在该类型第一次初始化时才会触发类加载,后续的实例化此类型,就不会触发类加载了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具