乐于分享
好东西不私藏

jvm对象的源码阅读和思考🤔

本文最后更新于2025-10-20,某些文章具有时效性,若有错误或已失效,请在下方留言或联系老夜

jvm对象的源码阅读和思考🤔

jvm对象的源码阅读和思考🤔

jvm对象的源码阅读和思考🤔

jvm对象的源码阅读和思考🤔

jvm对象的源码阅读和思考🤔

一个对象实例就是 oopDesc 实例,然后 oopDesc 有两个成员
_mark(对象头),_metadata(类的元数据)【没有实例变量和填充数据的字段】

然后 _mark 又是一个 markOop(markOopDesc类型),那么对象头里面的锁信息应该在 markOopDesc结构里面。
但是 markOopDesc 里面啥也没有,只定义了一堆常量。所以锁信息在哪里?🤔

锁信息其实就是在_mark字段, _mark 字段本质是一个整数(32位或者64位)。markOopDesc 定义了操作这个整数的规范。

同样的,oopDesc虽然没有定义实际变量,实际变量的数据是存放在其对象头结束紧接着的内存块。🥲

习惯了java的语法看c++有点费劲。

ps:我使用元宝帮我阅读代码和推理这种代码逻辑,明显感觉不太行。通义要好的多了。

#java #后端开发 #面试题 #面经 #编程 #开发 #程序员 #没想到你是这样的程序员 #jvm原理

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » jvm对象的源码阅读和思考🤔
×
订阅图标按钮