• 欢迎访问 winrains 的个人网站!
  • 本网站主要从互联网整理和收集了与Java、网络安全、Linux等技术相关的文章,供学习和研究使用。如有侵权,请留言告知,谢谢!

JVM系列之垃圾回收器(4):最前沿的垃圾回收技术——ZGC

JVM系列之垃圾回收器(4):最前沿的垃圾回收技术——ZGC
1. 前言 接上一篇文章JVM 系列之垃圾回收器(下篇)——Shenandoah 垃圾回收器,本文接下来介绍一款最前沿的垃圾回收器:ZGC。 2. ZGC 简介 ZGC 全称为 Z Garbage Collector,与 Shenandoah 一样,ZGC 也是一款在保证吞吐量的情况下,追求低延时的垃圾回收器。ZGC 是目前垃圾回收器中最前沿的技术,可惜……继续阅读 »

winrains 3个月前 (07-27) 44浏览 0个赞

JVM系列之垃圾回收器(3):Shenandoah垃圾回收器

JVM系列之垃圾回收器(3):Shenandoah垃圾回收器
1. 前言 虽然目前大部分系统使用的是 JDK8,使用的垃圾回收器也大概率为 G1 或者更古老的垃圾回收器,但是截止到目前为止,JDK 已经更新到 JDK14 了,垃圾回收器也几乎在每一次迭代中被更新,目前最前沿的垃圾回收器为 Shenandoah 和 ZGC,这两款垃圾回收器都是以低延时为主要目的。 由于内容较多,本文先只介绍 Shenandoah,下……继续阅读 »

winrains 3个月前 (07-27) 47浏览 0个赞

JVM系列之垃圾回收器(2):G1的运行原理以及调优思路

JVM系列之垃圾回收器(2):G1的运行原理以及调优思路
1. G1 垃圾回收器 Garbage First 简称 G1,是继 CMS 垃圾回收器之后,又一款并发的垃圾回收器,在 JDK7 中被去掉 Experimental 标识,开始可以被正式使用,在 JDK9 中被 JVM 设置为默认的垃圾回收器。G1 是垃圾收集器发展史上的一个新的里程碑,它采用分区算法,基于 Region 的内存布局方式,对整个堆内存进行局……继续阅读 »

winrains 3个月前 (07-27) 59浏览 0个赞

JVM系列之经典垃圾回收器(1)

JVM系列之经典垃圾回收器(1)
1.前言 随着 JDK 的不断更新,垃圾回收器的效率也越来越高。每一次 JDK 的更新,必然会包含有垃圾回收器的更新,截止目前,在最新的 JDK14 版本中,最新的垃圾回收器为 ZGC。 从垃圾回收器发展至今,出现过很多垃圾回收器,例如:Serial、ParNew、Parallel Scavenge、SerialOld、CMS、Parallel Old、……继续阅读 »

winrains 3个月前 (07-27) 43浏览 0个赞

深入理解垃圾回收机制

深入理解垃圾回收机制
1. Garbage Collect(垃圾回收) 之前说堆内存中有垃圾回收,比如Young区的Minor GC,Old区的Major GC,Young区和Old区的Full GC。 但是对于一个对象而言,怎么确定它是垃圾?是否需要被回收?怎样对它进行回收?等等这些问题我们还需要详细探索。 因为Java是自动做内存管理和垃圾回收的,如果不了解垃圾回收的各方……继续阅读 »

winrains 7个月前 (03-31) 93浏览 1个赞

Java垃圾回收机制

Java垃圾回收机制
导读 一个对象的一生经历了什么? 如何判断对象是否可用? 引用计数法和可达性分析算法各有什么优缺点? 哪些对象可以作为GC ROOT? 垃圾回收的时候如何快速寻找到根节点?(安全点和OopMap) 垃圾回收算法有哪些?各有什么优缺点? 有哪些垃圾回收器?各有什么优缺点?适用什么场景 1、对象回收处理过程 2、判断用户是否可用算法 2.1、引用计数算法 ……继续阅读 »

winrains 8个月前 (02-20) 68浏览 1个赞

Java GC垃圾回收机制

Java GC垃圾回收机制
Java GC垃圾回收几乎是面试必问的JVM问题之一,本篇文章带领大家了解Java GC的底层原理,图文并茂,突破学习及面试瓶颈。 楔子-JVM内存结构补充 在上篇《JVM之内存结构详解》中有些内容我们没有讲,本篇结合垃圾回收机制来一起学习。还记得JVM中堆的结构图吗? 图中展示了堆中三个区域:Eden、From Survivor、To Survivor。……继续阅读 »

winrains 12个月前 (11-07) 61浏览 1个赞

JVM源码分析(14):YGC的来龙去脉

JVM源码分析(14):YGC的来龙去脉
换了新工作,确实比以前忙多了,从而也搁置了自己兴趣,不过还是想方设法的挤出一点时间把YGC的一些细节实现重新看了几遍,HotSpot里的不少代码写的太纠结,山路十八弯,要理清楚确实需要费点时间。 YGC是JVM GC当前最为频繁的一种GC,一个高并发的服务在运行期间,会进行大量的YGC,发生YGC时,会进行STW,一般时间都很短,除非碰到YGC时,存在大量……继续阅读 »

winrains 1年前 (2019-10-30) 86浏览 2个赞

JVM源码分析(12):老年代TenuredGeneration的垃圾回收算法实现

JVM源码分析(12):老年代TenuredGeneration的垃圾回收算法实现
接着上文《JVM源码分析之新生代DefNewGeneration的实现》,本文对老年代TenuredGeneration的垃圾回收算法进行分析。 TenuredGeneration 老年代TenuredGeneration使用标记-压缩-清理算法进行垃圾回收,将标记对象移动到堆的另一端,同时更新对象的引用地址,算法的具体实现位于TenuredGenera……继续阅读 »

winrains 1年前 (2019-10-30) 67浏览 1个赞

JVM源码分析(10):垃圾收集的执行过程

JVM源码分析(10):垃圾收集的执行过程
接着上文《JVM源码分析之如何触发并执行GC线程》,本文对GC线程的执行过程进行分析,当新生代的可用内存不足时,会触发YGC操作,回收新生代的垃圾对象,具体实现是创建一个VM_GenCollectForAllocation类型的VM_Operation,并交由VMThread进行调度执行。 YGC 整个YGC的过程如下 step 1 通过VMTh……继续阅读 »

winrains 1年前 (2019-10-30) 51浏览 1个赞