类加载
在Java代码中,类型的加载、连接与初始化过程都是在程序运行期间完成的提供了更大的灵活性,增加了更多的可能性
类加载器深入剖析
- Java虚拟机与程序的生命周期
在如下几种情况下,Java虚拟机将结束生命周期
- 执行了System.exit()方法
- 程序正常执行结束
- 程序在执行过程中遇到了异常或错误而异常终止
- 由于操作系统出现错误而导致Java虛拟机进程终止(无法控制)
类的加载、连接与初始化
- 加载:查找并加载类的二进制数据
- 连接
- 验证:确保被加载的类的正确性(符合JVM规范的要求)
- 准备:为类的静态变量分配内存,并将其初始化为默认值
- 解析:把类中的符号引用转换为直接引用
符号引用:一个引用指向另一个引用
直接引用:一个引用指向一个对象
- 初始化:为类的静态变量赋予正确的初始值
类的使用与卸载
- 使用:通过类创建对象,调用类的方法
- 卸载:将字节码加载到内存的数据结构从内存中销毁,这样就不能创建该类的对象了
类加载的流程
![](https://img.haomeiwen.com/i12558140/96e9b67b0a30b255.png)
网友评论