JVM之类加载过程

本文详细探讨了JVM的类加载过程,包括加载、验证、准备、解析、初始化、使用和卸载七个阶段。讲解了类加载的懒加载特性、字节码验证、静态变量的默认初始化、符号引用与直接引用的转换,以及静态链接和动态链接的区别。通过实例代码解析了每个阶段的具体操作,帮助读者深入理解JVM内部机制。

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

大家好,我是骄阳

今天我们来聊一下jvm类加载过程。

之前我都是直接背这个面试问题的八股文,然后面试的时候装作不是提前背好的,循序渐进地说出来,但我发现,背完很容易忘,而且我根本禁不住面试官问,他随便延伸一点我就答不上来

主要原因还是因为我没有理解它。

那么首先什么是类加载?

其实就是从我们写出来的.java文件到被程序使用的整个过程

总共分为七步

1 加载:

2 验证:

3 准备:

4 解析:

5 初始化:

6 使用

7 卸载

package mysqltest; 
public class Math { 

public static final int initData = 666; 
public static final Object obj = new Object(); 

public int compute() { 
//一个方法对应一块栈帧内存区域 
int a = 1; int b = 2; 
int c = (a + b) * 10; 
return c; 

}
 public static void main(String[] args) {
 Math math = new Math(); 
math.compute(); 
} }

1 加载:

定义:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值