jvm学习总结

1.类加载运行全过程

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

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

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

加载:

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

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

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

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

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

相关推荐
wdfk_prog16 小时前
[Linux]学习笔记系列 -- [fs]initramfs
linux·笔记·学习
风行男孩16 小时前
stm32基础学习——定时器的使用
stm32·单片机·学习
深蓝海拓16 小时前
PySide6从0开始学习的笔记(十八) MVC(Model-View-Controller)模式的图形渲染体系
笔记·python·qt·学习·pyqt
知识分享小能手16 小时前
Ubuntu入门学习教程,从入门到精通, Ubuntu 22.04 的软件包管理 —— 全面详解(9)
linux·学习·ubuntu
Selegant16 小时前
百万 QPS 下的 Java 服务调优:JVM 参数、GC 策略与异步非阻塞编程
java·开发语言·jvm
蒙奇D索大16 小时前
【数据结构】排序算法精讲|折半插入排序全解:高效优化、性能对比、实战剖析
数据结构·学习·考研·算法·排序算法·改行学it
有个人神神叨叨16 小时前
odoo 学习- 01. Odoo 工程结构概览
学习
有个人神神叨叨16 小时前
odoo 学习- 02. Odoo 核心框架探究
学习
石像鬼₧魂石16 小时前
SQLMap注入完整操作流程(含全部细节 靶机学习用)
学习
复业思维2024010817 小时前
STM32学习和实践笔记(45):SPI-FLASH实验
笔记·stm32·学习