![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
读书笔记
vegmili
这个作者很懒,什么都没留下…
展开
-
java运行时数据区域
程序计数器 线程私有。可以看作是字节码的行号指示器。字节码解释器通过改变该计数器的值来选取下一条字节码指令,分支.循环.跳转.异常处理.线程恢复等都依赖该计数器。 对于java方法,计数器则记录虚拟机字节码指令地址。native方法,计数器的值为空。 此内存区域是java虚拟机规范中唯一没有规定OutOfMemoryError的区域。 虚拟机栈 线程私有。与线程的生命周期相同,每个方法执行...原创 2019-04-30 09:47:20 · 110 阅读 · 0 评论 -
对象的内存布局
HotSpot虚拟机里,对象在内存里的布局可以分成3块区域,分别是对象头,示例数据,对其填充。 对象头 对象头又分成两部分。 第一部分为Mark Word,用于存储对象自身的运行时数据,比如 哈希码,GC分代年龄,锁状态标志,线程持有的锁等。 第二部分则是类型指针,指向类元数据,即确定这个是哪个类的实例。 如果对象是数组,对象头中还要有一块记录数组长度的数据。普通的java对象可以通过元数据信...原创 2019-05-14 09:10:12 · 72 阅读 · 0 评论