jvm加载类机制CLass Loading
前提:java源文件被javac编译为class字节码文件。
javac编译时不进行连接(分配内存)工作,而是在jvm运行时才动态加载和动态连接
什么是类的加载
jvm将class文读取到内存中,经过对class文件的校验、转换解析、初始化最终在jvm的heap和方法区分配内存形成可以被jvm直接使用的类型的过程。
类的生命周期
7个阶段依次为:Loading Verification Preparation Resolution Initialization Using Unloading
加载 验证 准备 初始化和卸载 的顺序是确定的,而“解析”不一定在初始化之前,很有可能在初始化之后,实现java的伟大特性
运行时(晚期)绑定
一个阶段的执行过程中会调用或激活另一个阶段