jvm学习总结

1.类加载运行全过程

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

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

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

加载:

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

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

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

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

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

相关推荐
杨杨杨大侠19 小时前
深入理解 LLVM:从编译器原理到 JIT 实战
java·jvm·编译器
deng-c-f19 小时前
Linux C/C++ 学习日记(60):redis(一):基本介绍
学习
仙女修炼史19 小时前
How transferable are features in deep neural networks
人工智能·深度学习·学习
hhcccchh19 小时前
学习vue第十二天 Vue开发工具链指南:从手工作坊到现代化工厂
前端·vue.js·学习
如果你想拥有什么先让自己配得上拥有19 小时前
教师资格证考试梳理
学习·总结
TAICHIFEI19 小时前
Hugging Face 的 Transformers库
人工智能·深度学习·学习·自然语言处理
week_泽19 小时前
第2课:深度剖析AI Agent核心模块 - 学习笔记_2
人工智能·笔记·学习·ai agent
鱼跃鹰飞20 小时前
怎么排查线上CPU100%的问题
java·jvm·后端
hhcccchh20 小时前
学习vue第十一天 Vue3组件化开发指南:搭积木的艺术
前端·vue.js·学习
week_泽20 小时前
第9课:LangMem SDK高效实现长期记忆管理 - 学习笔记_9
人工智能·笔记·学习·ai agent