java scavenge_请概述一下Java中都有哪些垃圾收集器

1、Serial(串行GC)收集器

Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)。是Jvm

client模式下默认的新生代收集器。对于限定单个CPU的环境来说,Serial收集器由于没有线程交互的开销,专心做垃圾收集自然可以获得最高的单线程收集效率。

0e104edfac1e768b4929eebb3a8381b6.png

2、ParNew(并行GC)收集器

ParNew收集器其实就是serial收集器的多线程版本,除了使用多条线程进行垃圾收集之外,其余行为与Serial收集器一样。

3、Parallel Scavenge(并行回收GC)收集器

Parallel Scavenge收集器也是一个新生代收集器,它也是使用复制算法的收集器,又是并行多线程收集器。parallel

Scavenge收集器的特点是它的关注点与其他收集器不同,CMS等收集器的关注点是尽可能地缩短垃圾收集时用户线程的停顿时间,而parallel

Scavenge收集器的目标则是达到一个可控制的吞吐量。吞吐量= 程序运行时间/(程序运行时间 +

垃圾收集时间),虚拟机总共运行了100分钟。其中垃圾收集花掉1分钟,那吞吐量就是99%。

4、Serial Old(串行GC)收集器

Serial

Old是Serial收集器的老年代版本,它同样使用一个单线程执行收集,使用“标记-整理”算法。主要使用在Client模式下的虚拟机。

5、Parallel Old(并行GC)收集器

Parallel Old是Parallel Scavenge收集器的老年代版本,使用多线程和“标记-整理”算法。

6、CMS(并发GC)收集器

Concurrent Mark Sweep 收集器是一种以获得最短回收停顿时间为目标的收集器,基于标记清除算法。

过程如下:初始标记,并发标记,重新标记,并发清除,优点是并发收集,低停顿,缺点是对CPU资源非常敏感,无法处理浮动垃圾,收集结束会产生大量空间碎片。

7、G1收集器

G1收集器是基于标记整理算法实现的,不会产生空间碎片,可以精确地控制停顿,将堆划分为多个大小固定的独立区域,并跟踪这些区域的垃圾堆积程度,

在后台维护一个优先列表,每次根据允许的收集时间,优先回收垃圾最多的区域(Garbage First)。

本篇文章是由武汉java培训为您呈现,希望给您带来更多更好的文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿帕奇光束

Apache Beam是一个开放源代码统一模型,用于定义批处理和流数据并行处理管道。 使用一种开源的Beam SDK,您可以构建一个定义管道的程序。 然后,该管道由Beam支持的分布式处理后端之一执行,这些后端包括Apache Apex , Ap…

java音乐登陆界面_第四篇——Spring音乐登录界面设计及实现(C#)

Spring音乐播放器,我们小组设计其启动时有一个登录界面,用户初次可以注册,输入用户名和密码,点击注册即将输入信息保存到register文本文件中;如果已有用户名,输入用户名和密码,点击登录&#xf…

java中线性结构的例子_java数据结构--线性结构

一、数据结构数据结构由数据和结构两部分组成,就是将数据按照一定的结构组合起来,这样不同的组合方式有不同的效率,可根据需求选择不同的结构应用在相应在场景。数据结构大致分为两类:线性结构(如数组,链表&#xff0c…

Spring Boot和JSP

本指南展示了如何使用Spring Boot通过JSP创建MVC Web应用程序。 先决条件: Eclipse IDE(最新版本) Maven的4 Java 1.8 1.创建Maven Web项目 打开eclipse,然后创建一个新的Maven Web项目,并将其命名为SpringBootWe…

判断用户名和密码是否正确java_facebook中如何判断用户名和密码是否正确

Do you hear the angel?Do you think that this really has the angel in the world?We knew from the story in the book, the angel contain the wing of the beauty, beautiful face , the mind of the docile, generous breadth of view, they would like to sacrifice t…

使用Spock测试您的代码

Spock是针对Java和Groovy应用程序的测试和规范框架。 Spock是: 极富表现力 促进测试的给定/何时/然后语法 与大多数IDE和CI服务器兼容。 听起来不错? 通过快速访问Spock Web控制台,您可以非常快速地开始使用Spock。 当您有一个喜欢的小测…

php删除文见,php如何删除文件夹

php删除文件夹的方法:首先创建一个PHP示例文件;然后通过“function deldir($dir) {...}”删除目录下的文件并删除当前文件夹即可。php删除文件夹及其文件夹下所有文件function deldir($dir) {//先删除目录下的文件:$dhopendir($dir);while ($…

阿帕奇齿轮泵

Apache Gearpump是实时大数据流引擎。 它从2014年中期开始就在Intel上作为GitHub上的开源项目构想的,并于2016年3月8日进入Apache孵化。Gearpump的名称是对工程术语“齿轮泵”的指称,它是一个超级简单的泵,由只有两个齿轮,但是在流…

php网站标签加小图标,在htmltitle/title标签添加图标,网页title左边显示网页的logo图标...

如图在黑色所画圆之中显示一个图标:步骤一:在图片中显示图标,这里的图片只支持ico格式,需要转换图片格式.原始图像可以接受: .jpg .jpeg .gif .png等图像格式在这个网址http://www.php.cn/上传你的原始图片然后生成ico格式图标(百…

在Java中解析JSON时如何忽略未知属性– Jackson @JsonIgnoreProperties注释示例

使用Jackson API在Java中解析JSON时的常见问题之一是,当您的JSON包含未知属性(即您的Java类没有对应于所有JSON属性的所有字段)时,该操作将失败。 例如,如果您正在使用REST Web服务中的JSON,并且明天他们在…

php界面设置编码格式,php设置编码格式的方法

php设置编码格式的方法发布时间:2020-08-15 11:02:56来源:亿速云阅读:78作者:小新这篇文章主要介绍php设置编码格式的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完&…

单元测试 问题描述_单元测试技巧:创建描述性测试

单元测试 问题描述您的单元测试应尽可能具有描述性。 他们给您的反馈应该非常清楚,您甚至不必启动调试器,并一步一步地检查代码以检查局部变量。 为什么? 因为那需要时间,而且我们很懒,对吗? 为此&#xff…

matlab小波脊线,小波脊线提取,模极大值法。运行的结果不太对,代码有些地方我也没完全看懂...

本帖最后由 1393107100 于 2019-5-1 11:10 编辑clear,clcclose all%%%%%% 小波变换 %%%%%%%%%%%%%%%%fs1024;t1/fs:1/fs:1;f1100;f2200;f3300;scos(2*pi*f1*t.*(t>0&t<0.3))2*cos(2*pi*f2*t.*(t>0.3&t<0.8))3*sin(2*pi*f3*t.*(t>0.8&t<1));%sc…

php json追加500错误,在composer.json中添加了一个git地址;composer update 报错

在composer.json中添加了一个git地址&#xff1b;composer update 报错&#xff0c;不知道是什么原因导致的&#xff0c;如图&#xff1a;问题补充&#xff1a;在BAE包里面添加composer.json 后 重新composer updateYour requirements could not be resolved to an installable…

matlab曲线拟合 最低点,Matlab曲线拟合 最小二乘法 polyfit【转】

曲线拟合已知离散点上的数据集 &#xff0c;即已知在点集 上的函数值 &#xff0c;构造一个解析函数(其图形为一曲线)使 在原离散点 上尽可能接近给定的值&#xff0c;这一过程称为曲线拟合。最常用的曲线拟合方法是最小二乘法&#xff0c;该方法是寻找函数 使得 最小。MATLAB函…

sin查找表 matlab,利用Xilinx中的ROM构造查找表来计算sin和cos的方法探讨

1.使用matlab制作.coe文件查找表的构造构造256点的正余弦表exp(-j*2*pi*(0:255)/256)&#xff0c;分别得到 cos和sin的查找表matlab代码: 求sinfid fopen(sin.txt,a );str1 MEMORY_INITIALIZATION_RADIX10;;str2 MEMORY_INITIALIZATION_VECTOR;fprintf(fid,\t%s\n \t%s\n, s…

php提取pdf首页图片,pdf图片怎么提取

pdf图片的提取方法&#xff1a;首先用极速PDF阅读器打开文档&#xff1b;然后在图片处单击鼠标右键并选择“复制图片”&#xff0c;这时就可以粘贴发送了。本文操作环境&#xff1a;Windows7系统&#xff0c;Microsoft Office PowerPoint2020版本&#xff0c;Dell G3电脑。pdf图…

dlopen linux 实例_Linux静态库和动态库

库从本质上来说是一种可执行代码的二进制格式&#xff0c;可以被载入内存中执行。库分静态库和动态库两种。 静态库和动态库的区别1. 静态函数库这类库的名字一般是libxxx.a&#xff1b;利用静态函数库编译成的文件比较大&#xff0c;因为整个 函数库的所有数据都会被整合进目标…

反射setaccessible_advancedday16类加载器,反射

加载配置文件在src目录下创建一个config.properties配置文件&#xff0c;使用类加载器加载配置文件。//创建集合Properties propertiesnew Properties();//获取src目录下&#xff0c;配置文件的流InputStream in ClassLoader.getSystemClassLoader() .getResourceAsStream(…

基于matlab的语音信号,科学网—[转载]【信息技术】【2014.06】【含源码】基于MATLAB的语音信号处理与分析 - 刘春静的博文...

本文为瑞典耶夫勒大学(作者&#xff1a;Nan Wu)的学士论文&#xff0c;共48页。语音传递是人类最重要、最有效、最常用的信息交流方式。语言是人类特有的特征&#xff0c;而人声是常用的工具&#xff0c;也是相互传递信息的重要途径。语音具有较大的信息容量。因此&#xff0c;…