1、对象头(Header) 对象自身运行时数据(mark word):hash 码、GC 分代年龄、锁状态标识、是否偏向锁、线程持有的锁、偏向线程ID、偏向时间戳; 类型指针:对象指向元数据的指针。 mark word: 对象头信息与对象自身定义的数据无关的额外存储成本,考虑到虚拟机的空间效率,对象 ...
分类:
编程语言 时间:
2020-01-11 13:08:43
阅读次数:
83
3. GC 算法(基础篇) - GC参考手册 https://blog.csdn.net/renfufei/article/details/54407417 翻译铁锚 发布于2017-01-13 12:16:12 阅读数 6061 收藏 展开 相关术语翻译说明: Mark,标记; Sweep,清除; ...
分类:
编程语言 时间:
2020-01-11 10:00:26
阅读次数:
105
1. 垃圾收集简介 - GC参考手册 https://blog.csdn.net/renfufei/article/details/53432995 翻译铁锚 发布于2016-12-02 11:29:01 阅读数 10357 收藏 展开 说明: 在本文中, Garbage Collection 翻译 ...
分类:
其他好文 时间:
2020-01-11 00:14:59
阅读次数:
101
四种GC算法 GC垃圾回收,首先需要判断哪些对象需要回收 判断对象存活 可达性分析 : ? 从GC Roots开始向下查询,如果一个对象到任何一个GC Root对象都没有一个引用链相连的话,说明此对象不可用。 ? 四个GC Root对象 1. JVM栈中引用的对象 2. 方法区静态属性引用的对象 3 ...
分类:
编程语言 时间:
2020-01-10 15:52:00
阅读次数:
117
图的基本概念 首先,你要明确图是什么样子的,就是下面这个样子的 图的定义与术语 有向图和无向图 直接对比图就可以看出来,有向图和无向图的区别了,这个没有什么难的。 有向图和无向图的表示法有略微的区别,注意看 G1有箭头,有向图,表示方法是 G2无箭头,无向图,表示方法是 弧、弧头、弧尾:有向图的边称 ...
分类:
其他好文 时间:
2020-01-10 12:36:50
阅读次数:
80
目录 JVM 线程内存共享区 堆 heap (线程共享) 新生代的划分 Eden/FromSurvivor/To Survivor FromSurvivor To Survivor 新生代Minor GC 回收过程 老年代区域 清理算法:标记清除法 方法区、永久代(线程共享) 运行时常量池 线程内存 ...
分类:
其他好文 时间:
2020-01-09 18:57:51
阅读次数:
102
垃圾回收的原理和优点、GC是什么、Java垃圾回收机制、JVM加载class文件的原理机制、java类加载过程 ...
分类:
其他好文 时间:
2020-01-08 16:02:43
阅读次数:
80
1. 概念理解 1.1. 并行(Parallel)与并发(Concurrent) 并行:指多个垃圾收集线程并行工作,但此时用户线程仍然处于等待状态 并发:指用户线程与垃圾收集线程同时执行 1.2. Minor GC 与 Major GC Minor GC:指发生在新生代的垃圾收集动作,因为Java对 ...
分类:
其他好文 时间:
2020-01-08 14:12:58
阅读次数:
85
参考: 1. https://blog.csdn.net/seu_calvin/article/details/51404589 2. "Oracle:Java Garbage Collection Basics" span{color:red} 0. Java Garbage Collection ...
分类:
其他好文 时间:
2020-01-08 00:37:07
阅读次数:
82
我刻意的制造了一段会溢出的代码。 通过下图的leak suspects分析是可以看出gc root的。比较代码和图中的b a。 还有其他的方式可以分析,点击dominator tree可以获取到持有大对象的线程,然后在其上也可以执行gcroot的分析,如下图。 ...
分类:
其他好文 时间:
2020-01-06 19:21:34
阅读次数:
206