当前位置: 首页 > 编程日记 > 正文

Java垃圾回收之老年代垃圾收集器

1、Serial Old 收集器(-XX: +UseSerialOldGC, 标记-整理算法)

  • 单线程收集,进行垃圾收集时,必须暂停所有工作线程
  • 简单高效,Client模式下默认的老年代收集器

2、Parallel Od收集器(-XX: +UseParallelOldGC  ,标记-整理)

  • JDK6 之后才有这个收集器,多线程,吞吐量优先,如果注重CPU资源和吞吐量的场合,可以使用这个组合 Parallel Scavenge + Parallel Old 收集器

3、CMS收集器(这个收集器,占据了老年代收集器的半壁江山。-XX:+ UseConcMarkSweepGC ,标记-清除算法,有碎片产生)

优点:几乎可以和用户线程做到同时工作,本质还是要STOP-THE WORLD,只是停顿时间短

如果在老年代中存活更多存活率高的对象,使用CMD收集器更适合。

收集流程:(一边掉垃圾一边打扫)

  初始标记:stop-the-world,从垃圾回收的根对象开始,只是扫描和根对象有关联的对象并做标记。虽然暂停了所有的线程工作,但是停顿时间很短。

并发标记:并发追随标记,程序不会停顿

并发预清理:查找执行并发标记阶段从年轻代晋升到老年代的对象

重新标记:暂停虚拟机,扫描CMS堆中的剩余对象

并发清理:清理垃圾对象,程序不会停顿

并发重置:重置CMS收集器的数据结构

4、G1收集器(-XX:+UseG1GC , 复制+标记-整理算法)

Garbage First 收集器的特点

  • 并发和并行
  • 分代收集
  • 空间整合
  • 可预测的停顿

说明:这个收集器的内存布局与其他收集器有很大区别,将整个JAVA堆内存划分成多个大小相等的Region,年轻代和老年代不再物理隔离

5、额外知识:JDK11 有 Epsilon GC 和 ZGC (研发阶段) 

6、问题:为什么年轻代中的Parallel Scavenge收集器不能和老年代中的CMS收集器一起工作呢?

答:因为Parallel Scavenge收集器(G1)都没有使用传统的GC收集器代码框架,都是另外独立开发的。

而Serial,parNew,CMS都有使用了部分相同的收集器代码框架,所有他们三个是兼容的。

(CMS是hotsport在jdk5才出来的真正意义上是并行收集器,第一次让垃圾收集线程和用户线程一起工作。)

相关文章:

linux中awk下 gsub函数用法

gsub函数则使得在所有正则表达式被匹配的时候都发生替换gsub(regular expression, subsitution string, target string);简称 gsub(r,s,t)一、遇到的问题:问题:echo "a b c 2011-11-22 a:d" | awk $4gsub(/-/,"",$4)为啥…

Maya2022基础入门学习教程

Maya2022基础入门学习教程 Maya 2022 Essential Training Maya2022基础入门学习教程 Maya 2022 Essential Training MP4 |视频:h264,1280x720 |音频:AAC,44.1 KHz,2 Ch 技能水平:初级|流派:电子学习|语言:英语中文字幕(机译&…

简单几何(线段覆盖) POJ 3347 Kadj Squares

题目传送门 题意:告诉每个矩形的边长,它们是紧贴着的,问从上往下看,有几个还能看到。 分析:用网上猥琐的方法,将边长看成左端点到中心的距离,这样可以避免精度问题。然后先求出每个矩形的左右端…

服务器自动post,jquery ajax $.post自动变GET的解决方式(for CI)

环境:CI 3.x windows 2008 phpstudy jquery 1.7.2 apache以往一直用lnmp,这次用windowsapache,遇到了一些问题,记录下来。将本地的文件上传到服务器上以后,有一个将大段html提交到服务器处理的代码,是用…

2022-2028年中国数据中台行业深度调研及投资前景预测报告(全卷)

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国数据中台行业市场行业相关概述、中国数据中台行业市场行业运行环境、分析了中国数据中台行…

为什么一定要杀掉病毒?---帮一位老师解决MyDocument.exe优盘文件夹图标病毒问题...

最近一位大学老师给我抱怨了一个她遇到的烦恼,一直在纠结,生活都被打乱了,事情大概是这样的: 她的优盘里辛辛苦苦弄好备课文件,放在了优盘里,可是每次上课时,就是找不到文件。有时好多文件都被修…

微信小程序开发初探

一、关于微信小程序 1.1 小程序诞生的背景 张小龙说道: (1)一切以用户价值为依归→用户是微信的核心,所以微信中没有很多与客户无关的功能,比如QQ中的乱七八糟一系列东西。 (2)让创造发挥价值→…

ue4商城资源 The Forest v1.5 森林景观场景

ue4商城资源 The Forest v1.5 森林景观场景 ue4商城资源 The Forest v1.5 森林景观场景 ue4商城资源 The Forest v1.5 森林景观场景 Unreal Engine虚幻游戏引擎素材资源 Unreal Engine Marketplace –The Forest v1.5 森林景观场景 大小解压后:2.62G 云桥网络 平台…

服务器硬盘如何增加分区,服务器硬盘分区方法是什么?

服务器硬盘,顾名思义,就是服务器上使用的硬盘。如果说服务器是网络数据的核心,那么服务器硬盘就是这个核心的数据仓库,所有的软件和用户数据都存储在这里。用户用久了服务器硬盘就可能会出现空间不足的情况,那么应该如…

在批处理中调用JS操作MongoDB

在MongoDB中,我们可以通过JS脚本去操作数据。 一、编写数据操作JS脚本 新建JS文件writeData.js,编写数据操作内容如下: var curTime new Date(); db.user.insert({name:张三,password:123456, UpdateTime:curTime}); 另存文件,将…

Object的finalize()方法的作用是否与C++的析构函数作用相同

Object的finalize()方法的作用是否与C的析构函数作用相同 public class Finalization {private static Finalization finalization;/**finalize在gc回收中有不确定性,所以不推荐用finalize进行回收*/Overrideprotected void finalize(){System.out.println("fi…

leetcode Edit Distance

作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4051082.html 题目链接:leetcode Edit Distance 最短编辑距离,简单dp,dp[i,j]表示到str1的第i个字符和str2的第j个字符止的最短编辑距离。 dp[i,j] min(dp[i-1,j-…

设计模式的征途—10.装饰(Decorator)模式

虽然目前房价依旧很高,就连我所在的成都郊区(非中心城区)的房价均价都早已破万,但却还是阻挡不了大家对新房的渴望和买房的热情。如果大家买的是清水房,那么无疑还有一项艰巨的任务在等着大家,那就是装修。…

ue4商城资源 Nature Cave Cliff 自然洞崖景观场景

ue4商城资源 Nature Cave Cliff 自然洞崖景观场景 ue4商城资源 Nature Cave Cliff 自然洞崖景观场景 ue4商城资源 Nature Cave Cliff 自然洞崖景观场景 Unreal Engine虚幻游戏引擎素材资源 Unreal Engine Marketplace –Nature Cave Cliff 自然洞崖景观场景 大小解压后&#x…

android View未渲染时获得高度

ViewTreeObserver vto tv.getViewTreeObserver();vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {public void onGlobalLayout() {heigh appDescription.getHeight();tv.getViewTreeObserver().removeGlobalOnLayoutListener(this);}}); 转载于:https://www.c…

指定服务器无效,安装sqlserver2008r2 服务器配置,服务帐户配置出错,提示Sql server服务指定的凭据无效...

iOS 手势大全1.Touch事件 //系统自动调用 //一个UITouch代表一根手指 按住option变成两根手指 //虽然是两个手指,但只执行一次触摸事件 - (void)touchesBegan:(NSSet ...与useradd命令相关的两个默认配置文件Configuration Files for User Management Defaults When working …

2022-2028年中国树脂行业市场研究及前瞻分析报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国树脂行业市场行业相关概述、中国树脂行业市场行业运行环境、分析了中国树脂行业市场行业的…

Web API路由和动作选择

前言 本文描述ASP.NET Web API如何把一个HTTP请求路由到控制器的一个特定的Action上。关于路由的总体概述可以参见上一篇教程 http://www.cnblogs.com/aehyok/p/3442051.html。这篇文章主要来学习路由过程的细节。如果你创建了一个Web API项目,发现有一些请求没有按…

希望和等待:目标,欲望和意志

意志是盲目的。 欲望是不能消灭的,只能代替。 高人云,人生最重要的是什么?是目标。哲人言,人生无非希望和等待而已。 人的信息系统是任务为导向的,所有的人都有目标,不过自觉不自觉,大小&#x…

c4d+ps打造抽象NFT加密艺术 Create Abstract NFT Crypto Art with Cinema 4D + Photoshop

c4dps打造抽象NFT加密艺术 Create Abstract NFT Crypto Art with C4D PS c4dps打造抽象NFT加密艺术 Create Abstract NFT Crypto Art with C4D PS c4dps打造抽象NFT加密艺术 Create Abstract NFT Crypto Art with C4D PS c4dps打造抽象NFT加密艺术 Create Abstract NFT Cryp…

vb打开ftp服务器文件路径,VB上传指定文件到FTP指定目录。。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼目前用如下代码能够实现上传,但是不能上传到指定目录去。。怎么改变?Option ExplicitPrivate Const INTERNET_OPEN_TYPE_DIRECT 1Private Const scuseragent "vb wininet"Private Const INTERNE…

firefox+linux+nginx搭建server与client通过证书双向认证环境

项目中需要搭建一个server和client基于证书的双向认证环境。由我来做,我也不会。 经过一晚上的研究,基本摸清了(知其然不知其所以然)。做下笔记。 基本环境: 1.安装nginx。 2.安装openssl。 生成证书: 首先…

编写高性能Java代码的最佳实践

编写高性能Java代码的最佳实践 摘要:本文首先介绍了负载测试、基于APM工具的应用程序和服务器监控,随后介绍了编写高性能Java代码的一些最佳实践。最后研究了JVM特定的调优技巧、数据库端的优化和架构方面的调整。以下是译文。 介绍 在这篇文章中&…

Exchange 2013 OWA搜索邮件失败问题处理

Exchange 2013 OWA搜索邮件失败问题处理问题:接到用户反馈,exchange 2013 owa搜索邮件失败,提示“您的搜索未返回任何结果“,如下图,但是outlook搜索正常。打开EMS命令行工具,get-mailboxdatabasecopystatu…

PAT_B_1027 打印沙漏

题目描述: 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印************ ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符…

3dmax2021入门学习教程

3dmax2021入门学习教程 MP4 | h264,1280x720 |语言:英语中文字幕(根据原英文字幕机译)原英文字幕 | 4h 23m | 3.55 GB 含课程素材工程文件 云桥网络 平台获取素材 你将学到什么 3DS MAX中的样条线和多边形建模 纹理、照明和渲…

关于HTML代码的转义

笔记: 1.在通过jsonp方式传输HTML代码的时候,为了防止代码中的一些字符影响json的语法,需要对HTML代码进行转义。 2.转义的时候可以只转义特殊字符(引号之类的),也可以把所有字符(中文&#xff…

php ajax替换数据,如何用ajax替换php函数

我是这里的 AJAX 新手。ajax的动作执行后如何替换初始的php函数?我发现执行操作后页面不会刷新。这是代码:javascriptfunction set_ddm(another_data) {var result $.ajax({url: ../display/ea_form_header.php,type: POST,data: {action: set_ddm,Data…

2022-2028年中国输送胶管行业市场全景调查及投资前景趋势报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国输送胶管行业市场行业相关概述、中国输送胶管行业市场行业运行环境、分析了中国输送胶管行…

CGIC简明教程(转摘)

CGIC简明教程 本系列的目的是演示如何使用C语言的CGI库“CGIC”完成Web开发的各种要求。**************&#…