jvm学习总结

1.类加载运行全过程

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

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

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

加载:

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

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

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

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

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

相关推荐
XQ丶YTY7 分钟前
大二java第一面小厂(挂)
java·开发语言·笔记·学习·面试
Always_away20 分钟前
数据库系统概论|第七章:数据库设计—课程笔记
数据库·笔记·sql·学习
东京老树根30 分钟前
SAP学习笔记 - 开发08 - Eclipse连接到 BTP Cockpit实例
笔记·学习
lichuangcsdn1 小时前
【springcloud学习(dalston.sr1)】Eureka单个服务端的搭建(含源代码)(三)
学习·spring cloud·eureka
靡樊2 小时前
网络基础概念
linux·服务器·网络·c++·学习
我爱写代码?2 小时前
Spark 集群配置、启动与监控指南
大数据·开发语言·jvm·spark·mapreduce
郭尘帅6662 小时前
vue3基础学习(上) [简单标签] (vscode)
前端·vue.js·学习
虾球xz2 小时前
游戏引擎学习第279天:将实体存储移入世界区块
c++·学习·游戏引擎
Absinthe_苦艾酒2 小时前
JVM学习专题(二)内存模型深度剖析
jvm
yanyanwenmeng2 小时前
智能体制作学习笔记2——情感客服
笔记·学习