jvm学习总结

1.类加载运行全过程

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

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

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

加载:

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

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

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

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

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

相关推荐
Timmylyx05184 小时前
类欧几里得学习笔记
笔记·学习·算法
晚霞的不甘4 小时前
Flutter for OpenHarmony构建全功能视差侧滑菜单系统:从动效设计到多页面导航的完整实践
前端·学习·flutter·microsoft·前端框架·交互
d_b_4 小时前
UCIE 笔记(一)
笔记·学习·芯片
悠哉悠哉愿意5 小时前
【强化学习学习笔记】强化学习简介
笔记·学习·强化学习
星火开发设计5 小时前
C++ 输入输出流:cin 与 cout 的基础用法
java·开发语言·c++·学习·算法·编程·知识
AI_56785 小时前
用Everything+Total Commander管理电脑文件
人工智能·学习
秦奈5 小时前
Unity复习学习随笔(11):二进制存储
学习
Jack___Xue5 小时前
LangGraph学习笔记(六)---LangGraph ReAct应用
笔记·学习·react.js
爱学习的阿磊5 小时前
Python入门:从零到一的第一个程序
jvm·数据库·python
naruto_lnq5 小时前
编写一个Python脚本自动下载壁纸
jvm·数据库·python