jvm学习总结

1.类加载运行全过程

当我们使用java命令运行某个main函数启动程序时,首先需要通过类加载器把主类加载到JVM.

主要用到的类为loadClass,loadClass的类加载过程有如下过程

加载--》验证--》准备-》》解析》》初始化》》使用》》卸载

加载:

在硬盘上查找并通过io读写字节码文件,使用类时才加载,例如调用来的main方法,new对象等等,在加载阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。

验证:验证字节码的准备性

准备:给累的静态变量分配内存

解析:将符号引用替换为直接引用,该阶段会把一些静态方法换为指向数据所存内存的指针或句柄等

初始化:对类的静态变量初始化为指定的值,执行静态代码块

相关推荐
●VON22 分钟前
从单机应用到分布式调度:基于 HarmonyOS 构建车-空协同任务引擎
学习·华为·harmonyos·openharmony·开源鸿蒙
万变不离其宗_841 分钟前
http学习笔记
笔记·学习
盐焗西兰花1 小时前
鸿蒙学习实战之路 - 避免冗余刷新最佳实践
学习·华为·harmonyos
Lynnxiaowen1 小时前
今天我们继续学习Kubernetes内容pod资源对象
运维·学习·容器·kubernetes·云计算
xier_ran1 小时前
关键词解释:对比学习(Contrastive Learning)
人工智能·深度学习·学习·机器学习·对比学习
andwhataboutit?1 小时前
GAN学习
深度学习·学习·生成对抗网络
CHANG_THE_WORLD2 小时前
Python 学习三 Python字符串拼接详解
开发语言·python·学习
其美杰布-富贵-李2 小时前
SpaceClaim流体域创建学习笔记
笔记·学习
冬夜戏雪2 小时前
【java学习日记】【2025.12.6】【6/60】
学习
行云流水20003 小时前
青少年编程学习:考级与竞赛结合提升能力的方法
人工智能·学习·青少年编程