jvm学习总结

1.类加载运行全过程

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

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

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

加载:

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

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

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

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

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

相关推荐
.鸣5 小时前
set和map
java·学习
confiself6 小时前
MAI-UI技术报告学习
学习
知识分享小能手7 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04文件压缩与解压缩知识点详解(12)
linux·学习·ubuntu
while(1){yan}7 小时前
SpringDI
java·jvm·spring·java-ee
iconball9 小时前
个人用云计算学习笔记 --37 Zabbix
运维·笔记·学习·云计算·zabbix
FPGAI10 小时前
Java学习之计算机存储规则、数据类型、标识符、键盘录入、IDEA
java·学习
四谎真好看11 小时前
MySQL 学习笔记(运维篇1)
运维·数据库·笔记·学习·mysql·学习笔记
hssfscv11 小时前
Javaweb学习笔记——Web
笔记·学习·web
随意起个昵称11 小时前
【题解学习】序列题
学习·算法
皮卡丘学了没11 小时前
JVM-逃逸分析
jvm