JVM如何进行垃圾回收?(2)
JVM如何进行垃圾回收
4)常见垃圾回收算法
4.1)标记清除算法
缺点:产生内存碎片,因此堆不规整,堆不规整,那么对象分配就会采用空闲列表的分配策略。

4.2)标记整理算法
不会产生内存碎片,但是多了整理的步骤。
4.3)复制算法
将内存分为大小相同的两块,每次使用其中的一块,当这块内存使用完毕后,将存活的对象复制到空闲的另一块。
缺点:空间浪费,每次只能使用一半,不适合老年代。

4.4)分代收集算法
新生代有大量对象会死亡,只留下少量对象而且不是大对象,因此可以采用复制算法。
而老年代对象存活几率较高,可以采用标记清除或者标记整理算法。
5)常见的垃圾回收器
5.1)Serial 收集器
新生代标记复制,老年代标记整理,只使用一条垃圾收集线程去完成垃圾收集工作。因此 STW (Stop The World) 的时间会较长,造成用户体验较差。
5.2)ParNew 收集器
Serial 收集器的多线程版本,其他完全一样。
5.3)Paraller Scavenge 收集器
和 ParNew 几乎一样,但这款收集器注重吞吐量,在大数据量的时候,想要高效利用 CPU ,可以选择这款收集器,而且此款收集器有自适应调节策略。
5.4)Serial Old 收集器
Serial 收集器的老年代版本。
用途:JDK 1.5 以前和 Paraller Scavenge 搭配使用或者作为 CMS 收集器的后备方案。
5.5)Parallel Old 收集器
Parallel Scavenge 收集器的老年代版本。
5.6)CMS 收集器(重点)
目标:获取最短停顿时间,STW 时间最短,注重用户体验,主要回收老年代,采用标记-清除算法,HotSpot 虚拟机中第一款并发收集器。
5.7)G1 收集器 (重点)
目标:注重最短停顿时间和吞吐量,实现可预测停顿时间,从整体上来看标记-整理算法,从局部上来看标记-复制算法,可以用于新生代,也可以用于老年代。JDK 9 及以后默认采用 G1 收集器。
6)建议了解
建议了解三色标记法、增量更新、原始快照这些知识,是 CMS 收集器 和 G1 收集器的重点,如何处理,错标,漏标,处理浮动垃圾等等知识。
以上就是IT袋网带来的JVM如何进行垃圾回收?的具体内容,供大家参考操作。
相关阅读
-
HTTP状态码深入解析:401 Unauthorized
为大家介绍HTTP状态码深入解析的教程内容,接下来一起来看看吧。 在互联网通信中,HTTP状态码是用来表示服务器响应的一种方式。 当我们在浏览器中访问网页时,服务器会返回一个状态码,
-
什么是跨站脚本 XSS攻击?
为网友解答什么是跨站脚本的相关话题,下面为详细的介绍。 跨站脚本(Cross-Site Scripting,XSS)是一种常见的网络安全漏洞,攻击者利用该漏洞在受害者的网页中插入恶意脚本,从而能够获取
-
个人网站备案流程 工信部个人网站备案过程讲解
您可能不了解个人网站备案流程和工信部个人网站备案过程讲解的IT小经验,继续往下看吧! 嗨,大家好,我是希留。 前面文章介绍了下使用https访问网站的相关配置,然后发现访问https时灵时
-
dns服务器未响应怎么修复 分享dns未响应最简单的修复办法
今天为大家介绍dns服务器未响应怎么修复和分享dns未响应最简单的修复办法的教程内容,继续往下看吧! 很多人在浏览网页时,经常会遇到DNS服务器未响应的情况,那么什么是DNS服务器?DNS未


