发布时间:2025-04-26
点击次数: 对象的创建过程包括以下几个步骤:申请内存空间、赋予默认值、设置初始值。在这个过程中,可能会发生指令重排,导致对象处于半初始化状态。这也是为什么在dcl(双重检查锁定)单例模式中需要使用volatile关键字的原因,因为new操作可能会出现问题。
存储器的层次结构如图所示:

硬件层的数据一致性协议有很多种,其中Intel使用的是MESI协议。
现代CPU的数据一致性是通过缓存锁(如MESI等)和总线锁来实现的。读取缓存是以cache line为基本单位,目前是64字节。如果同一缓存行的两个不同数据被两个不同CPU锁定,会产生互相影响的伪共享问题。使用缓存行的对齐可以提高效率,如disruptor框架所利用的。
乱序问题(读):CPU为了提高效率,如果没有直接依赖关系,会在一条指令执行的过程中(读数据慢100倍)同时执行另一条指令。写操作也可以进行合并,放在WCBuffer(4个位置)中执行。
案例:
package com.mashibing.juc.c_029_WriteCombining;
public final class WriteCombining {
private static final int ITERATIONS = Integer.MAX_VALUE;
private static final int ITEMS = 1;
// ...
}为了保证特定情况下不发生乱序,JVM使用内存屏障来确保有序性。硬件层面上的实现不一定依赖硬件级别的内存屏障,还可以依赖硬件级别的lock指令。
硬件CPU内存屏障包括:
JVM级别如何规范(JSR133):
volatile的实现细节:
synchronized的实现细节:
对象的创建过程:
class loading
class linking(verification, preparation, resolution)
class initializing
申请对象内存
成员变量赋默认值
调用构造方法<init></init>
成员变量顺序赋初始值
执行构造方法语句
对象在内存的存储布局:
刺鸟创客
一款专业高效稳定的AI内容创作平台
110
查看详情
首先查看自己虚拟机的配置:j*a -XX:+PrintCommandLinesFlags -version
红色的参数就是内存布局

对象的内容(对象的内存布局也可以这么说):
普通对象:
数组对象:
ompressedClassPointers为4字节,不开启为8字节)首先一个class load到内存的时候有一个agent来截获或修改,需要自己实现它(premain方法),相当于代理。
实验:
package com.mashibing.jvm.agent;
import j*a.lang.instrument.Instrumentation;
<p>public class ObjectSizeAgent {
private static Instrumentation inst;</p><pre class="brush:php;toolbar:false;">public static void premain(String agentArgs, Instrumentation _inst) {
inst = _inst;
}
public static long sizeOf(Object o) {
return inst.getObjectSize(o);
}}
Manifest-Version: 1.0 Created-By: mashibing.com Premain-Class: com.mashibing.jvm.agent.ObjectSizeAgent
注意Premain-Class这行必须是新的一行(回车 + 换行),确认IDEA不能有任何错误提示。
-j*aagent:C:\work\ijprojects\ObjectSize\out\artifacts\ObjectSize_jar\ObjectSize.jar
package com.mashibing.jvm.c3_jmm;</p><p>import com.mashibing.jvm.agent.ObjectSizeAgent;</p><p>public class T03_SizeOfAnObject {
public static void main(String[] args) {
System.out.println(ObjectSizeAgent.sizeOf(new Object()));
System.out.println(ObjectSizeAgent.sizeOf(new int[] {}));
System.out.println(ObjectSizeAgent.sizeOf(new P()));
}</p><pre class="brush:php;toolbar:false;">private static class P {
// 8 _markword
// 4 _oop指针
int id; // 4
String name; // 4
int age; // 4
byte b1; // 1
byte b2; // 1
Object o; // 4
byte b3; // 1
}}
Object 16字节
Int 16字节
-XX:+UseCompressedClassPointers -XX:+UseCompressedOops 这两个是分开的Hotspot开启内存压缩的规则(64位机):
对象头具体包含什么:
具体看对象的状态


当一个对象计算过identityHashCode之后,不能进入偏向锁状态。
以上就是让你吊打面试官的J*a内存结构以及对象的内容讲解的详细内容,更多请关注其它相关文章!
# windows
# 操作系统
# 处理器
# java
# 荔湾区优化网站价格排名
# 亦庄大型网站建设
# 婚纱摄影网站建设服务商
# 美妆平台营销推广方案
# 苏州建设国外网站
# 牛视SEO注册
# 池州网站推广技术
# SEO战略老师礼物
# 设计公司网站推广案例
# 大良官网网站建设
# 的是
# 默认值
# 提高效率
# 过程中
# 不开启
# 为大
# 教你
# 面试官
# 让你
# 为什么
# 同步机制
# bing
# c++
# ai
相关栏目:
【
行业新闻62819 】
【
科技资讯67470 】
相关推荐:
财联社首档运用虚拟人技术播报栏目《AI半小时》今晚上线!敬请期待
走进首家“元宇宙”未来工厂,卡奥斯探知工业之旅出发!
华为昇腾AI原生支持30多种基础大模型,包括GPT
2025年的网络分区:人工智能和自动化如何改变事物
轻量级的深度学习框架Tinygrad
优傲机器人的人机协作技术 助力中小企发展
谷歌推出RT-2视觉语言动作模型,使机器人能够掌握垃圾丢弃技能
联合国秘书长称支持建立全球人工智能监管机构
Midjourney 5.2震撼发布!原画生成3D场景,无限缩放无垠宇宙
网易云音乐和小冰推出AI歌手音乐创作软件,首发内置12名AI歌手
鸿蒙生态带来了哪些新的流量可能性,包括AI、服务分发和原生智能等方面?
工信部信通院发布《2025大模型和AIGC产业图谱》 360智脑覆盖全产业链
学生作文评分的新趋势:教师与AI的合作模式
李开复:未来几年,人工智能会革了所有人的命,除非你这么做
百度举办AIGC创作沙龙,现场传授AI绘画“咒语”技巧
GPT-4 模型架构泄露:包含 1.8 万亿参数、采用混合专家模型
2025 WAIC|美团无人机发布第四代新机型
自然语言生成在智能家居设备中的应用
基于信息论的校准技术,CML让多模态机器学习更可靠
基于预训练模型的金融事件分析及应用
Meta 推出 Quest 超级分辨率技术,让 VR 画面更清晰
微盟宣布联合腾讯云共建行业大模型:加快激活AI大模型智能应用
Moka AI产品后观察:HR SaaS迈进AGI时代
《上古卷轴5》AI高清材质包优化游戏中所有怪物
借助ChatGPT快速上手ElasticSearch dsl
阿里达摩院发布免费开放100项AI专利许可的动机是什么?
热点 | 人工智能黄金时代开启
70年前他本想逃避考试,却影响了整个互联网
五个出色的人工智能应用实例
讯飞听见会写“会议摘要”功能全面升级,AI更懂你的关注点
NVIDIA垄断AI市场90%份额:AMD性能追上80% 软件太不能打
随时随地,追踪每个像素,连遮挡都不怕的「追踪一切」视频算法来了
定义人工智能的十个关键术语
值得买科技入选“北京市通用人工智能产业创新伙伴计划”应用伙伴
热点资讯:家乐福推出聊天机器人;米哈游2025年营收273.4亿元…
北京公司实施AI技术,推行4.5天工作制,抵制996文化,提升员工工作幸福感
苹果式 AI 哲学:不着一字,处处落子
人脸识别+全景双摄+AI算法 萤石推动智能锁行业革新
张朝阳与陆川谈AI:ChatGPT是鹦鹉学舌思维,不可能取代人类 | 把脉AI大模型
丰田汽车研究院推出生成式人工智能汽车设计工具
OpenAI首席执行官表态支持欧盟AI监管
OpenAI夺冠:人工智能为云计算带来新变革
中国联通推出“极光一号”5G机载终端,适配大疆等品牌无人机设备
小米又拿下国际比赛第一:AI翻译立功
破解零碳产业园建设规范和成果评价难题
测试框架-安全和自动驾驶
全场景智能车:智能无处不在|芯驰亮相世界人工智能大会
OpenAI CEO 山姆・阿尔特曼呼吁 AI 领域中美应当合作
13条咒语挖掘GPT-4最大潜力,Github万星AI导师火了,网友:隔行再也不隔山了
微软在 Bing 和 Edge 浏览器中拓展网购服务,帮用户选购心仪产品