news 2026/6/9 23:11:24

JVM对象创建的过程了解吗?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JVM对象创建的过程了解吗?

在JVM中对象的创建,我们从一个new指令开始:

这个过程大概图示如下:


虚拟机收到new指令触发。

类加载检查:如果类没有被类加载器加载,则执行类加载流程(将class信息加载到JVM的运行时数据区的过程),对象所需内存大小在类加载完后可以完全确定。

对象分配内存:从堆中划分出一块确定大小的内存。

内存空间初始化:内存分配完后,虚拟机需要将分配到的内存空间初始化为零值(如:int值为0,boolean值为false等),保证了对象的实例字段在Java代码中可以直接使用。

为对象进行必要的设置:虚拟机为对象进行设置,如设置对象属于哪个类的实例、如何找到类的元数据信息、对象的哈希码、对象的GC分代年龄等信息,这些信息存放在对象头中。

从虚拟机的角度来看,一个新的对象已经创建完毕。但从Java程序的角度来看,对象创建才刚开始,所有的字段还是零值,所以需要程序员进行初始化操作,这样一个真正可用的对象才算完全产生出来。

init是对对象级别的变量或非静态代码块进行初始化的

clinit静态变量或者静态代码块谁来初始化呢

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/7 7:11:04

Visio流程图与Shadow Sound Hunter模型架构可视化

Visio流程图与Shadow & Sound Hunter模型架构可视化 1. 当团队在讨论模型架构时,你是否也遇到过这些情况? 上周和几个同事一起梳理一个新项目的模型设计,会议室白板上画满了各种方框、箭头和潦草的注释。有人指着某个模块问"这部分…

作者头像 李华
网站建设 2026/6/7 11:08:33

离线运行神器:AgentCPM研报助手详细使用教程

离线运行神器:AgentCPM研报助手详细使用教程 1. 为什么你需要一个“离线”的研报生成工具? 你是否遇到过这些场景: 正在撰写行业分析报告,却因网络波动导致模型响应中断,已输入的300字提示词全部丢失;处…

作者头像 李华
网站建设 2026/6/7 11:26:57

Chord视频时空理解工具与CAD集成:工业设计中的智能视频分析

Chord视频时空理解工具与CAD集成:工业设计中的智能视频分析 1. 当工业设计遇上视频理解:一个被忽视的协同机会 在工业设计领域,我们习惯于把CAD模型当作设计的核心载体——那些精确到微米的尺寸标注、严谨的装配约束、复杂的曲面建模&#…

作者头像 李华
网站建设 2026/6/7 11:15:25

GLM-4-9B-Chat-1M实操手册:自定义Tokenizer适配特殊领域符号体系

GLM-4-9B-Chat-1M实操手册:自定义Tokenizer适配特殊领域符号体系 1. 为什么你需要关心Tokenizer——它不只是“分词器” 很多人第一次听说 GLM-4-9B-Chat-1M,注意力全在“1M上下文”“200万汉字”“单卡可跑”这些亮眼标签上。但真正用起来才发现&…

作者头像 李华
网站建设 2026/6/7 12:27:59

GLM-4-9B-Chat-1M实战教程:Python调用vLLM API实现流式响应+进度条实时渲染

GLM-4-9B-Chat-1M实战教程:Python调用vLLM API实现流式响应进度条实时渲染 1. 为什么你需要关注这个“能读200万字”的模型 你有没有遇到过这样的场景: 一份300页的PDF财报、一份500页的法律合同、一本80万字的技术白皮书——你想让AI快速读懂它&#…

作者头像 李华
网站建设 2026/6/7 11:02:43

TranslateGemma与Unity引擎集成:游戏多语言本地化实战

TranslateGemma与Unity引擎集成:游戏多语言本地化实战 1. 游戏开发者的本地化困境 你有没有遇到过这样的情况:一款精心设计的游戏在海外市场发布后,玩家反馈界面文字错乱、按钮位置异常,甚至关键功能描述完全无法理解&#xff1…

作者头像 李华