jvm学习总结

1.类加载运行全过程

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

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

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

加载:

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

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

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

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

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

相关推荐
越努力越幸运50825 分钟前
CSS3学习之网格布局grid
前端·学习·css3
阿猿收手吧!37 分钟前
【C++】C++原子操作:compare_exchange_weak详解
java·jvm·c++
chillxiaohan1 小时前
GO学习记录——多文件调用
开发语言·学习·golang
tb_first2 小时前
万字超详细苍穹外卖学习笔记2
java·jvm·数据库·spring·tomcat·maven
Funny_AI_LAB3 小时前
AI Agent最新重磅综述:迈向高效智能体,记忆、工具学习和规划综述
人工智能·学习·算法·语言模型·agi
2301_822363603 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
代码游侠4 小时前
学习笔记——Linux内核与嵌入式开发1
linux·运维·前端·arm开发·单片机·嵌入式硬件·学习
宇钶宇夕4 小时前
CoDeSys入门实战一起学习(二十八):(LD)三台电机顺起逆停程序详解—上升、下降沿使用上
单片机·嵌入式硬件·学习
科技林总4 小时前
【系统分析师】6.5 电子商务
学习
代码游侠4 小时前
C语言核心概念复习(一)
c语言·开发语言·c++·笔记·学习