到目前为止, 我们已经写了无数个类了, 但是具体它在Java虚拟机中到底是怎么实现的,我们还从未探索过, 今天就带着大家一起初探一下jvm对类加载的过程(目前博主技术水平有限, 以后随着技术的更加成熟, 会更新博客内容的, 也欢迎更多小伙伴持续关注, 和提出意见)
一: 类加载
在Java代码中,类型的加载、连接与初始化过程都是在程序运行期间完成的, 提供了更大的灵活性,增加了更多的可能性.
二: Java虚拟机与程序的生命周期
在如下几种情况下,Java虚拟机将结束生命周期
1: 执行了System.exit()方法程序
2: 正常执行结束
3: 程序在执行过程中遇到了异常或错误而异常终止
4: 由于操作系统出现错误而导致Java虚拟机进程终止
三: 类的加载、连接与初始化
类加载的具体5个步骤包括, 加载, 验证, 准备, 解析, 初始化. 下面详细讲讲其具体的作用.
3.1 加载:查找并加载类的二进制数据连接
3.2 验证:确保被加载的类的正确性
3.2 准备:为类的静态变量分配内存,并将其初始化为默认值
3.3 解析:把类中的符号引用转换为直接引用(直接用指针指向地址)
3.4 初始化:为类的静态变量赋予正确的初始值
3.5 使用
3.6 卸载
详图:
后续会继续更新这篇文章......