JVM-04-类的生命周期

发布时间:2026/11/13 21:26:31

JVM-04-类的生命周期 文章目录什么是类的生命周期1. 加载2. 连接2.1 验证2.2 准备2.3 解析3. 初始化类什么时候会初始化什么时候不会初始化总结什么是类的生命周期描述了一个 .class 文件从被 JVM 加载到卸载的整个过程。主要包含以下阶段加载loading连接linking验证准备解析初始化initialization使用suing卸载unloading与垃圾回收有关这里重点介绍加载、连接、初始化这三个阶段。1. 加载作用把 .class 文件加载到 JVM 中。类加载器根据类的全限定名通过不同的渠道以二进制的方式获取字节码信息。类加载器在加载完类后Java虚拟机会将字节码中的信息保存到内存的方法区中。生成InstanceKlass对象保存类的所有信息此外还包含一些特定信息比如多态用到的虚方法表。Java虚拟机还会再堆中生成一份与方法区中数据类似的Java.lang.Class对象。这样可以获取java代码中的类的信息及静态变量JDK 8及以后。注意InstanceKlass对象是c编写的jvm不能直接操作所以在堆上创建了用Java语言包装后的对象Java.lang.Class以能够在Java代码中获取。并且Java.lang.Class中的字段要少于InstanceKlass中的比如与多态有关的虚方法表对开发者来说不需要操作也为了安全考虑就没有。可以理解为InstanceKlassJVM 眼里的“类”java.lang.ClassJava 程序员能操作的“类对象”使用HSDB查看类加载阶段创建的对象和加载的信息。打开hsdb在jdk的bin目录下进入cmd然后输入jhsdb hsdb出现弹窗连接到某个java进程需要输入进程id可以通过jps命令找到对应的进程id。3. 查看整个虚拟机创建的对象显示了类名、大小、个数2. 连接分为三个阶段验证、准备、解析。2.1 验证检查 .class 文件是否符合 JVM 规范防止恶意字节码一般不需要程序员关注。会检查文件格式字节码是否合法类型是否正确2.2 准备会给static变量分配内存并设置初始值基本类型和引用类型都有初始值。举例publicclassTest{staticintcount100;}在准备阶段count的值为0而不是100等于100发生在类的初始化阶段。注意如果final修饰的基本类型的静态变量准备阶段会直接将代码中的值进行赋值也就是说如果是final static int count 100;在准备阶段count的值为100。2.3 解析将常量池中的符号引用也就是字节码中使用编号来访问常量池中的内容替换为直接引用。符号引用内存引用可以使用HSDB-Tools-Class Brower查看对应的类的信息可以看到地址值不再是符号引用。3. 初始化会执行静态代码块中的代码并为静态变量赋值。初始化阶段会执行字节码文件中clinit部分的字节码指令。注意clinit是类初始化init是对象初始化。init构造方法mainmain方法clinit初始化阶段执行clinit方法中的执行顺序与Java源码中的编写顺序一致。类什么时候会初始化new对象newUser();访问静态变量User.count;调用静态方法User.test();反射Class.forName(User);什么时候不会初始化User.class这个时候只会加载不一定初始化。总结如果一个静态变量由final修饰并且等号右边有值那么这个变量在准备阶段直接进行初始化。访问父类的静态变量不会触发子类的初始化子类的初始化clinit调用前会先调用父类的clinit方法。添加-XX:TraceClassLoading参数可以打印出加载并初始化的类。以上为个人学习分享如有问题欢迎指出
延伸阅读

更多相关文章

2026/11/10 12:34:45

AMD显卡+ROCm平台实战:基于LoRA高效微调Gemma 2B模型实现情感分类

1. 项目概述:当开源轻量模型遇上消费级AMD显卡 最近在折腾大语言模型微调的朋友,估计没少为显存发愁。动辄几十GB的模型,配上全量微调,一张高端N卡都未必吃得消,更别说我们这些用AMD显卡的“非主流”玩家了。但需求就…

2026/11/13 7:39:03

北京App开发公司选择指南:从需求分析到技术评估的完整方法论

1. 项目概述:为什么需要一份靠谱的“排行榜”? 在北京找一家靠谱的App开发公司,这事儿听起来简单,做起来却像大海捞针。无论是创业者想把自己的想法落地,还是企业需要数字化转型,面对市场上成百上千家宣称“…

2026/11/14 9:14:03

RAG系统实战:从语义检索到精准生成的完整构建指南

1. 项目概述:从“搜不到”到“答得准”的进化如果你最近在折腾大模型应用,或者被公司要求搞个智能客服、知识库问答系统,那你大概率听过“RAG”这个词。它现在火得不行,但很多人可能只是知道个概念,真上手一搭&#xf…

2026/11/14 16:32:14

新化县特种作业操作证能转回来吗内部消息全公开

新化县特种作业操作证能转回来吗内部消息全公开 之前考的证在外省能不能转过来?说实话,很多人都问过这个问题,我也一样。作为一个在河南信阳浉河区从事公路工程行业多年的老实人,我跟你说句 内部消息…

2026/11/14 16:32:14

保定哪里有办电工证,电子证书怎么查最靠谱

保定哪里有办电工证,电子证书怎么查最靠谱 不知道去哪报名怕被中介坑,怕花冤枉钱还拿不到证?现在很多人想考电工证,却不知道保定哪里有办电工证,更担心被不靠谱的培训机构坑了。别急,这篇文章就来告诉你,保定哪里可以正规报名,怎么查电子证书,还有报…

2026/11/14 16:32:14

麻屯培训电工证过期了不知道怎么复审延期?电子证书怎么查

麻屯培训电工证过期了不知道怎么复审延期?电子证书怎么查 证书过期了不知道怎么复审延期,这是很多南阳卧龙区公路工程从业者最头疼的问题。尤其是在从事电气设备安装、维修、检查等工作的电工,如果手中的麻屯培训电工证没有及时复审,轻则影响日常工作,重…

2026/11/14 16:32:14

邵阳代审电工证内部消息:刚毕业没证怎么上岗?这几点你必须知道

邵阳代审电工证内部消息:刚毕业没证怎么上岗?这几点你必须知道 刚毕业就面临找工作,手里没证连面试资格都没?别急,邵阳代审电工证正在悄悄成为不少人的“救命稻草”。特别是南阳卧龙区初出茅庐的求职者,很多都卡在“有学历没证书”的门槛上。今天就来聊…

2026/11/14 16:27:14

电工证那个等级最吃香多少钱能拿下高薪工作

电工证那个等级最吃香多少钱能拿下高薪工作 工地太忙根本没时间复习考试,每天十几个小时在钢筋水泥里穿梭,脑子里装的全是钢筋型号、电路布局,哪还有空去背电工证考试内容?很多一线电工都面临这个问题,考证成了“想考但考不起”的心病。特别是现在…

2026/11/13 22:33:32

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/14 0:06:39

土木特种工考证官方报名入口怎么找 之前考的证在外省能不能转过来

土木特种工考证官方报名入口怎么找 之前考的证在外省能不能转过来 之前考的证在外省能不能转过来?这个问题我太熟悉了,作为一名干了十几年的特种作业证书办理从业者,每年都会遇到不少像你一样在外地考了证,回来却发现无法直接使用的学员。别急,今天我就…

2026/11/14 0:06:39

电工证要多久多钱保姆级教程:工地太忙根本没时间复习考试

电工证要多久多钱保姆级教程:工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,你不是一个人。在信阳浉河区,很多刚进入工地的电工都面临这样的困境:工作强度大,时间碎片化,根本没有系统复习考试的机会。但电工证是上岗的硬门槛,…

2026/11/13 22:32:11

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/13 12:14:39

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑