jvm学习总结

1.类加载运行全过程

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

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

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

加载:

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

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

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

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

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

相关推荐
Tingjct6 分钟前
线程详细讲解---聚焦linux
linux·服务器·jvm
xian_wwq9 分钟前
【学习笔记】-深度认知系列-第8讲主流AI模型横向评测——GPT、Claude、Gemini、盘古、文心、通义
人工智能·笔记·学习
myy-learn11 分钟前
32 SQLITE数据库
jvm·数据库·sqlite
大牧师18 分钟前
TypeORM 学习教程
数据库·sql·学习·node.js·orm·nest.js·typeorm
晨欣1 小时前
NVIDIA GPU 架构演进学习笔记(GPT-5.6 Terra 生成)
笔记·学习·gpu·显卡·nvidia·英伟达
小雪崩1 小时前
嵌入式学习 day40:数据库
数据库·学习
一条破秋裤2 小时前
17_ADC原理与转换模式
笔记·stm32·学习
传奇开心果编程2 小时前
【Rust入门知识点学与练】第5课:函数
开发语言·学习·rust
留白_3 小时前
【tableau入门学习】2、柱状图、折线图、饼图、散点图
学习·tableau
AI视觉网奇3 小时前
blende 下载安装学习笔记
笔记·学习