jvm加载类机制CLass Loading
前提:java源文件被javac编译为class字节码文件。
javac编译时不进行连接(分配内存)工作,而是在jvm运行时才动态加载和动态连接
什么是类的加载
jvm将class文读取到内存中,经过对class文件的校验、转换解析、初始化最终在jvm的heap和方法区分配内存形成可以被jvm直接使用的类型的过程。
类的生命周期
7个阶段依次为:Loading Verification Preparation Resolution Initialization Using Unloading

加载 验证 准备 初始化和卸载 的顺序是确定的,而“解析”不一定在初始化之前,很有可能在初始化之后,实现java的伟大特性
运行时(晚期)绑定
一个阶段的执行过程中会调用或激活另一个阶段

本文详细阐述了Java类加载的过程,包括加载、验证、准备、解析和初始化阶段。介绍了类加载器的工作原理,如双亲委派模型和OSGi的网状加载模型。同时,讨论了类的生命周期和主动引用触发的初始化情况,以及子类继承父类时的初始化顺序。
最低0.47元/天 解锁文章
2916

被折叠的 条评论
为什么被折叠?



