发布时间:2026/8/8 8:50:11
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/8/8 8:50:11

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

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

2026/8/8 8:50:11

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

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

2026/8/8 8:45:10

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

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

2026/8/8 11:05:18

高效知识考核试卷设计:从目标到应用的全流程指南

1. 项目概述:一份试卷背后的价值与设计逻辑 “百科基础考核试卷”这个标题,听起来像是一份简单的测试题,但如果你在内容创作、知识管理、团队培训或者社群运营领域待过,就会立刻明白它的分量。这绝不仅仅是一张纸或一个在线表单&a…

2026/8/8 11:05:18

数据库一体机技术演进与选型指南

1. 数据库一体机的概念与价值定位 数据库一体机(Database Appliance)这个如今在金融、电信等行业广泛应用的解决方案,其核心设计理念可以追溯到上世纪80年代。简单来说,它是一套将数据库软件、计算资源、存储系统和网络设备高度集…

2026/8/8 11:05:18

程序员如何用技术思维平衡工作与生活

1. 程序员的情感困境与职业迷思 "事业与爱情只能选一个"——这个困扰着无数职场人的经典命题,在程序员群体中表现得尤为突出。深夜的办公室里,我见过太多同事一边敲着代码一边给恋人发"今晚又要加班"的消息;也见过不少技…

2026/8/8 11:05:18

一篇搞懂RK3568从上电启动到运行OS的全过程(持续更新)

1 RK3568框图阅读模块框图能够帮我快速建立整体系统框架。我个人理解是懂得越多,你面对一个系统框图越能快速的绘制出它的整个神经脉络,掌握系统的数据流图。 访问地址:https://www.rock-chips.com/uploads/pdf/2022.8.26/191/RK3568%20Brief…

2026/8/8 11:05:18

RAG与智能体:构建企业级AI应用的核心架构与实践指南

1. 从“玩具”到“工具”:AI应用落地的现实困境如果你在过去一年里深度使用过ChatGPT、Claude或者国内的文心一言、通义千问,你大概率会有一种“冰火两重天”的体验。一方面,你会惊叹于它们在某些任务上展现出的“类人”甚至“超人”的智慧&a…

2026/8/7 19:43:11

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/8 0:04:22

Java图像处理实战指南

要执行这些 Java AWT 图像处理程序,你需要将它们分别保存为独立的 .java 文件,并使用 javac 编译,然后使用 java 运行。以下是每个程序的核心执行步骤、依赖关系和要点。 通用执行步骤 保存文件:将每个 listing 的代码复制到文本…

2026/8/8 0:04:23

昇腾AI代理实现多号通话自动化

基于昇腾(Ascend)硬件与AtomGit AI社区的开源生态,结合AI Agent技术,可以实现一个模拟“通话重复使用机号复制”功能的安卓手机应用原型。其核心是利用AI Agent进行意图理解、任务编排和自动化操作,模拟或管理多号码的…

2026/8/8 0:04:23

2026年Graph+AI Agents最新创新思路

本次围绕GraphAI Agents这个方向筛选了15篇高质量论文,都是近年来具有较高引用价值或方法创新的研究工作,其中部分来自IJCAI、AAAI、ICRA。 对于论文er来说,这些论文方法结构清晰、可复现性较强,在多个任务上都有可延展的空间。如…

2026/8/7 9:44:18

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/7 19:03:32

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/8 2:17:42

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…