jvm学习总结

1.类加载运行全过程

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

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

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

加载:

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

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

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

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

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

相关推荐
DJ斯特拉9 分钟前
Tlias智能学习辅助系统(一)
学习
列星随旋1 小时前
redis分片集群的部署和使用
redis·学习
Chennnng1 小时前
rsl_rl框架学习
学习
safestar20121 小时前
Elasticsearch ILM实战:从数据热恋到冷静归档的自动化管理
java·开发语言·jvm·elasticsearch·es
xixixi777772 小时前
剖析Agent(代理)攻击面
网络·学习·安全·架构·网络攻击模型·代理
北郭guo2 小时前
垃圾回收底层原理【深入了解】
java·jvm·算法
Jerry.张蒙2 小时前
SAP传输请求流程:从开发到生产的安全流转
大数据·网络·人工智能·学习·职场和发展·区块链·运维开发
Century_Dragon2 小时前
VR+智能评——比亚迪秦EV整车检测与诊断仿真实训系统
学习
victory04313 小时前
大模型后训练学习计划 02 verl llamafactory
学习
tfjy19973 小时前
网络基础学习
网络·学习