课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
类的加载是程序员在学习java编程开发技术的时候需要掌握和频繁加载调用的元素之一,而今天我们就通过案例分析来了解一下,类加载机制的概念与实现方法。
一、为什么需要类加载机制
Java源码经过编译后成为字节码(ByteCode)存储在Class文件中,在Class文件中包含的各类信息都需要加载到虚拟机后才能被运行和使用。
二、何为类加载机制
JVM把描述类的数据从Class文件加载到内存,并对数据进行校验、解析和初始化,终形成可以被虚拟机直接使用的Java类型,这个过程被称为虚拟机的类加载机制。一个类型(类或者接口)从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期将会经历如下7个阶段。
其中,验证、准备、解析是哪个阶段统称为连接(Linking)。需要注意的是,加载、验证、准备、初始化和卸载这几个阶段的顺序是确定的,而解析阶段则不一定:它在某些情况下可以在初始化完成后再开始,这是为了支持Java语言的动态绑定特性。
动态绑定是指程序在运行期间判断所引用对象的实际类型,然后再确定具体是哪个实例对象的方法。
三、虚拟机在何时加载类
关于在什么情况下需要开始类加载的一个阶段,《Java虚拟机规范》中并没有进行强制约束,留给虚拟机自由发挥。但对于初始化阶段,虚拟机规范则严格规定:当且仅当出现以下六种情况时,必须立即对类进行初始化,而加载、验证、准备自然需要在此之前进行。虚拟机规范中对这六种场景中的行为称为对一个类型进行主动引用。除此之外,所有引用类型的方式都不会触发初始化,称为被动引用。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。