news 2026/7/15 19:09:40

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

作者头像

张小明

前端开发工程师

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

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

这个过程大概图示如下:


虚拟机收到new指令触发。

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

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

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

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

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

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

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

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

Clawdbot办公自动化:企业微信日程管理与会议纪要

Clawdbot办公自动化:企业微信日程管理与会议纪要 1. 一场静悄悄的办公革命正在发生 你有没有过这样的经历:上午九点刚开完会,下午两点又要准备另一场;会议邀请发出去了,却忘了提醒关键参会人;会议结束时大…

作者头像 李华
网站建设 2026/7/12 17:19:34

设计师必备!Nano-Banana一键生成工业级平铺图教程

设计师必备!Nano-Banana一键生成工业级平铺图教程 Datawhale干货 教程作者:Mark,华南理工大学 你是否曾为一张产品说明书配图反复调整排版?是否在做鞋包结构提案时,花三小时手绘分解图却仍被客户质疑“不够专业”&a…

作者头像 李华
网站建设 2026/7/14 21:59:41

RMBG-1.4入门教程:10分钟快速实现图片背景去除

RMBG-1.4入门教程:10分钟快速实现图片背景去除 1. 为什么你需要这个工具 你有没有遇到过这样的情况:刚拍了一张产品照片,但背景杂乱不堪;想给朋友圈配图换一个干净的背景,却不会用复杂的修图软件;或者需要…

作者头像 李华
网站建设 2026/7/14 20:26:51

GTE文本向量模型开箱即用:快速搭建企业级NLP应用

GTE文本向量模型开箱即用:快速搭建企业级NLP应用 1. 为什么企业需要一个“开箱即用”的NLP多任务平台? 你是否遇到过这样的场景: 客服团队每天要从成千上万条用户留言中人工标注情感倾向,耗时又易错;法务部门需要快…

作者头像 李华
网站建设 2026/7/13 0:26:38

GTE中文文本嵌入实战:3步搭建企业级语义搜索系统

GTE中文文本嵌入实战:3步搭建企业级语义搜索系统 你是不是也经历过这样的场景? 客服团队每天要从上千条产品文档里手动查找答案; HR需要在堆积如山的简历中快速匹配岗位关键词; 技术部门想给内部知识库加个“像人一样理解问题”的…

作者头像 李华