jvm学习总结

1.类加载运行全过程

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

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

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

加载:

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

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

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

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

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

相关推荐
爱莉希雅&&&38 分钟前
技术面试题,HR面试题
开发语言·学习·面试
Chef_Chen2 小时前
从0开始学习计算机视觉--Day08--卷积神经网络
学习·计算机视觉·cnn
weixin_446260852 小时前
Isaac Lab:让机器人学习更简单的开源框架
学习·机器人
库森学长3 小时前
面试官:发生OOM后,JVM还能运行吗?
jvm·后端·面试
我真不会起名字啊4 小时前
OpenSceneGraph(OSG)开发学习
学习
永日456704 小时前
学习日记-spring-day42-7.7
java·学习·spring
描绘一抹色5 小时前
JVM基础01(从入门到八股-黑马篇)
jvm
Love__Tay7 小时前
笔记/云计算基础
笔记·学习·云计算
wuxuanok10 小时前
Web后端开发-分层解耦
java·笔记·后端·学习
wuxuanok11 小时前
Web后端开发-请求响应
java·开发语言·笔记·学习