Java 类装载

java类装载分为两种方式:
(1)预先加载

(2)按需加载

由于可对类进行预先加载,所以在程序启动时,不需要将所有的类都加载到JVM中,只有需要时才会加载,即大部分类被延迟到要使用时才加载,这成为java运行时的动态加载机制。

Java基础类是程序运行的基础,采用的是预先加载的方式。



那么按需加载,具体是什么样的条件才会去加载呢?

答:当这个类的静态成员被第一次引用时,就会触发按需加载。这个静态成员包括:静态方法,静态属性,构造方法。

PS1:当访问常量静态常量属性时,JVM加载类的过程不会进行初始化的工作

PS2:尽管构造方法没有显示声明为静态方法,但是仍被作为类的静态成员特例,因此,使用new来构造一个对象时,JVM还是会加载这个类。

例子说明:

代码如图1,运行结果如图2

图1


图2

当调用Test1的静态常量属性时,并没有执行Test1的静态域代码,只有在new Test1时,才进行了初始化工作

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容