首页 > 编程知识 正文

jvm有几种垃圾收集器,jvm 垃圾收集器

时间:2023-05-05 12:56:49 阅读:189650 作者:194

jvm垃圾收集器(串行收集器、ParNew收集器、Parallel收集器) ) )。

1、序列收集器序列(串行)收集器是最基本、历史最悠久的垃圾收集器。 通过查看其名称,您可以看到此收集器是单线程收集器。 其“单线程”的含义不仅仅是使用一个垃圾收集线程来完成垃圾收集工作,在进行垃圾收集工作时,在收集结束之前,还包括其他所有的工作线程(http://www.Sina.com)

“Stop The World”

虚拟机的设计者当然知道Stop The World带来的不良用户体验,因此后续的垃圾收集器设计缩短了停顿时间(仍有停顿,寻找最佳垃圾收集器的过程仍在继续)

但是,Serial收集器有比其他垃圾收集器更好的地方吗? 当然有。炙热的帆布鞋代采用复制算法,老年代采用标记-整理算法。Serial收集器没有线程交互开销,当然可以获得较高的单线程收集效率。简单而高效(与其他收集器的 单线程相比),那也是单线程的收集器。 主要有两种用途。 一种用于在JDK1.5之前的版本中与Parallel Scavenge收集器一起使用,另一种用于CMS收集器的备份方案。

Serial Old收集器是Serial收集器的老年代版本

http://www.Sina.com/: serial GC http://www.Sina.com/: serialoldgc (serial的上一代版本),使用ParNew收集器ParNew收集器实际上是当然,也可以通过参数(主要相关参数:)指定收集线程数,但一般不建议更改。

-XX:+UseSerialGC

-XX:+UseSerialOldGC

使用3358 www.Sina.com/: parnewgc http://www.Sina.com/:收集线程数w3,Parallel收集器1,Parallel Scavenge收集器热尼斯也是使用复制算法的收集器的他的特征与其他收集器不同,是Serial收集器的多线程版本,即吞吐量=运行代码时间/(运行用户代码时间垃圾收集时间)。

-XX:ParallelGCThreads

炙热的帆布鞋代采用复制算法,老年代采用标记-整理算法。但是,请不要认为将此参数的值设置得小一点会加快系统垃圾收集的速度。 GC停止时间的缩短是以牺牲吞吐量和代替热运动鞋的空间为代价的。 系统缩小一点代替热运动鞋,收集300M的代替热运动鞋是S&; 一定比收集500 nm快。 这也提高了垃圾收集的发生频率。 原来的10每秒收集一次,每次停止100毫秒,现在变成每5秒收集一次

主要相关参数:,也就是说垃圾收集时间与总时间的比率相当于吞吐量的倒数。 如果将测量参数设定为19,则允许的最大GC时间占总时间的5%,即1/(1 19 )。

除了以上两个参数外,并行扫描收集器还具有参数xx : useadaptivesizepolicy。 这是一个开关参数,打开该开关后,热运动鞋世代的大小(xmn )、tzdgb和Survivor区的比列)xx : survivor ratio (升级为面向老年人的大小)xx 33660

、并行二极管集电极

-XX:+UseParNewGC

-XX:ParallelGCThreads

Paralle Scavenge收集器的目标是达到一个可控制的吞吐量。所谓吞吐量就是CPU用于运行用户代码的时间与CPU总消耗时间的比值

3358www.Sina.com/: parallel GC http://www.Sina.com/: parallel GC的旧版本3358 www.Sina.com/:最大垃圾收集停止时间3http://:动态调整配置堆内存分配Paralle Scavenge收集器提供了两个参数用于精确控制吞吐量,分别是控制最大垃圾收集停顿时间的-XX:MaxGCPauseMillis参数以及直接设置吞吐量大小的-XX:GCTimeRatio参数。:动态调整配置堆内存分配

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。