欢迎来到培训无忧网!

全国切换

咨询热线 400-001-5729

位置:培训无忧网 > 新闻资讯 > 电脑/IT > java培训 >  Java学习下垃圾收集器有哪些?

Java学习下垃圾收集器有哪些?

来源:www.pxwy.cn 发布人:星星

2021-12-25 14:35:46|已浏览:255次

垃圾收集器有哪些

       Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,不同的版本和不同的收集群可以针对不同的场景需要,最新的并不意味就是最好的,有时候在架构和业务层面考虑,可以根据需要进行配置。接下来介绍垃圾收集器的分类,方便你了解怎么为项目选择合适的垃圾收集器。

1.串行垃圾收集器

      串行垃圾收集器使用单个线程来执行所有垃圾收集工作,这使得它相对高效,因为线程之间没有通信开销。它最适合于单处理器机器,因为它不能利用多处理器硬件,尽管它在多处理器上对具有小数据集的应用程序很有用。

      串行垃圾收集器在某些硬件和操作系统配置上默认选择,或者可以使用选项-XX:+UseSerialGC显式启用。串行GC将是不具有低暂停要求且在非常小的堆大小上工作的应用程序的最佳选择。

2.并行垃圾收集器
       并行垃圾收集器也称为吞吐量收集器,是与串行垃圾收集器类似的分代收集器。串行垃圾收集器和并行收集器之间的主要区别在于并行收集器具有多个线程,用于加速垃圾收集。并行垃圾收集器适用于具有在多处理器或多线程硬件上运行的中型到大型数据集的应用程序。您可以使用-XX:+UseParallelGC选项启用它。
       并行压缩是一种使并行垃圾收集器能够并行执行主要收集的功能。在没有并行压缩的情况下,主要收集是使用单个线程执行的,这会极大地限制可伸缩性。如果已指定选项-XX:+UseParallelGC,则默认情况下启用并行压缩。您可以使用-XX:-UseParallelOldGC选项禁用它。并行垃圾收集器将是吞吐量比延迟更重要的最佳选择。在可以接受长暂停的情况下,可以使用并行垃圾收集器,例如批量数据处理或批处理作业。
3.并发垃圾收集器
       并发标记扫描(CMS)收集器和垃圾优先(G1)垃圾收集器是两个主要并发的收集器。这些收集器与应用程序并行执行一些昂贵的工作,因此它们大多被称为并发收集器。
4.CMS收集器
       CMS收集器在需要低垃圾收集暂停的应用程序环境中是首选的,并且可以在应用程序运行时与垃圾收集器共享处理器资源。当应用程序中的长寿命世代较高时,或者在有两个或多个处理器的机器上运行时,此收集器基本上提供了更多的好处。CMS收集器可以通过选项-XX:+UseConMarkSweepGC启用。CMS收集器在JDK 9中不再受欢迎,建议使用垃圾优先(G1)收集器。
5.G1垃圾收集器
       G1是用于具有大量内存的多处理器机器的服务器样式收集器。它以很高的概率满足垃圾收集暂停时间目标,同时在不需要配置的情况下实现高吞吐量。默认情况下,在某些硬件和操作系统配置上选择G1,或者可以使用-XX:+UseG1GC显式启用G1。G1主要通过疏散来回收空间:在要收集的选定内存区域中找到的活动对象被复制到新的内存区域,并在此过程中进行压缩。疏散完成后,先前由活动对象占用的空间将被应用程序重新分配。

       对于高级语言来讲,因为不断的创建对象,如果不清理,迟早内存会满。所以需要清理不要的垃圾。了解这些垃圾收集器的特性有助于你为开发项目选择合适的垃圾收集器,保障程序正常运行。

       本文由培训无忧网牛耳教育专属课程顾问整理发布,更多Java培训课程资讯欢迎关注培训无忧网Java培训频道或添加老师微信:1503333605010

      注:尊重原创文章,转载请注明出处和链接 https://www.pxwy.cn/news-id-9994.html 违者必究!部分文章来源于网络由培训无忧网编辑部人员整理发布,内容真实性请自行核实或联系我们,了解更多相关资讯请关注java培训频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050

留下你的信息,课程顾问老师会一对一帮助你规划更适合你的专业课程!
  • 姓名:

  • 手机:

  • 地区:

  • 想学什么:

  • 培训无忧网
免 费 申 请 试 听
提交申请,《培训无忧网》课程顾问老师会一对一帮助你规划更适合你的专业课程!