JVM
文章平均质量分 83
能白话的程序员♫
这个作者很懒,什么都没留下…
展开
-
Java对象头结构
Java对象(Object 实例) 结构包含三部分:对象头、对象体、对其子节,具体如下图所示对象的三个部分对象头对象头包括三个字段,第一个字段叫作Mark Word (标记字),用于存储自身运行时的数据,例如GC标志位、哈希码、锁状态等信息。第二个字段叫作Class Pointer (类对象指针),用于存放方法区Class对象的地址,虚拟机通过这个指针来确定这个对象是哪个类的实例。第三个字段叫作Array Length (数组长度)。如...原创 2021-12-08 18:46:13 · 2219 阅读 · 4 评论 -
三色标记法
基本原理当前主流编程语言的垃圾收集器基本.上都是依靠可达性分析算法来判定对象是否存活的,可达性分析算法理论上要求全过程都基于-一个能保障一致性的快照中才能够进行分析,这意味着必须全程冻结用户线程的运行。由于GC Roots相比起整个Java堆中全部的对象毕竟还算是极少数,且在各种优化技巧(如OopMap) 的加持下,它带来的停顿已经是非常短暂且相对固定(不随堆容量而增长)的了。可从GC Roots再继续往下遍历对象图,停顿时间就必定会与Java堆容量直接成正比例关系了:堆越大,存储的对...原创 2021-11-29 20:00:00 · 245 阅读 · 0 评论