垃圾回收 为什么对象的最大年龄为15?
原因:因为Mark Word中使用4个bit记录对象的年龄,最大就是15
相关知识
Java对象存储在堆(Heap)内存中,一个Java对象包含 对象头、对象体和对齐字节;
对象的几个部分的作用:
1、对象头中的Mark Word(标记字)主要用来表示对象的 线程锁状态,还可以用来存放该对象的hashCode、配合GC;
2、Klass Word(类指针)是一个指向方法区中Class信息的指针,意味着该对象可通过该指针,随时知道自己是哪个类的实例;
3、(可选):数组长度也是占用64位(8字节)的空间,只有当对象是一个数组对象,才会有这个部分;
4、对象体是用于保存 对象属性 和 值 的主体部分,占用内存空间取决于对象的属性数量和类型;
5、(不一定准确)对齐字节主要是为了减少堆内存的碎片空间
Mark Word(标记字)
学习连接:https://blog.csdn.net/qq_26542493/article/details/90938070
分类:
Java基础知识
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程