jvm学习总结

1.类加载运行全过程

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

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

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

加载:

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

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

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

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

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

相关推荐
小小星球之旅6 小时前
CompletableFuture学习
java·开发语言·学习
盐焗西兰花6 小时前
鸿蒙学习实战之路-ArkTS循环渲染_ForEach使用指南
学习·华为·harmonyos
巧克力味的桃子7 小时前
单链表 - 有序插入并输出学习笔记
笔记·学习
坚持学习前端日记8 小时前
软件开发完整流程详解
学习·程序人生·职场和发展·创业创新
Wokoo78 小时前
开发者AI大模型学习与接入指南
java·人工智能·学习·架构
小猪佩奇TONY8 小时前
OpenCL 学习(3)---- OpenCL 第一个程序
学习
守护安静星空9 小时前
live555学习笔记
笔记·学习
航Hang*9 小时前
第1章:初识Linux系统——第13节:总复习②
linux·笔记·学习·centos
YJlio10 小时前
PsPing 学习笔记(14.1):ICMP Ping 进阶——替代系统 ping 的正确姿势
windows·笔记·学习
BMS小旭10 小时前
CubeMx-GPIO学习
单片机·学习