类的加载详解

本文探讨了Java虚拟机(JVM)如何加载和管理类的生命周期,包括加载、验证、准备、解析和初始化五个步骤。详细阐述了每个阶段的作用,如加载涉及查找和加载二进制数据,验证确保类的正确性,准备为静态变量分配内存并初始化,解析转喻符号引用为直接引用,初始化则为静态变量赋予初始值。此外,还介绍了导致JVM生命周期结束的四种情况。这是一个关于JVM和类管理的基础教程,随着技术进步,内容会不断更新和完善。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

到目前为止, 我们已经写了无数个类了, 但是具体它在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 卸载

详图: 

后续会继续更新这篇文章......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值