HotSpot 垃圾收集器

文章目录

  • 前言
    • HotSpot 垃圾收集器
      • 1. 查看jdk默认垃圾收集器命令
      • 2. 查看当前服务使用的是哪个垃圾收集器:
      • 3. 常用的垃圾收集器
        • 3.1. 并行垃圾收集器(Parallel Garbage Collector)
        • 3.2. CMS 垃圾收集器(Concurrent Mark-Sweep Garbage Collector)
        • 3.3. G1 垃圾收集器(Garbage-First Garbage Collector)

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


HotSpot 垃圾收集器

HotSpot 虚拟机提供了多种垃圾收集器,每种收集器都有各自的特点,虽然我们要对各个收集器进行比较,但并非为了挑选出一个最好的收集器。我们选择的只是对具体应用最合适的收集器。

1. 查看jdk默认垃圾收集器命令

java -XX:+PrintCommandLineFlags -version

在这里插入图片描述
Java 虚拟机通常会根据运行环境和硬件自动选择合适的默认垃圾收集器,但也可以通过配置参数来指定使用特定的垃圾收集器.

2. 查看当前服务使用的是哪个垃圾收集器:

jps: 列出当前正在运行的 Java 进程和它们的 PID

jcmd: jcmd 命令可以用来执行各种诊断命令,包括查看 JVM 参数和运行时信息。你可以使用 jcmd 来查看正在运行的 Java 进程使用的垃圾收集器类型。

jcmd <pid> VM.flags

在这里插入图片描述

可以看到使用的是G1垃圾收集器。

3. 常用的垃圾收集器

3.1. 并行垃圾收集器(Parallel Garbage Collector)

优点:

  • 通过多线程同时进行垃圾收集,提高了垃圾收集的吞吐量,适合处理需要高吞吐量的应用场景。
  • 在多核处理器上表现优异,能够充分利用多核处理器的优势。
  • 适合用于后台运行的任务,不会对应用的响应时间造成显著影响。

缺点:

  • 由于并行进行垃圾收集,会消耗更多的 CPU 资源,可能导致在一些性能敏感的应用场景中,对响应时间造成不利影响。
  • 不够灵活,无法很好地适应大内存和低延迟要求的场景。
3.2. CMS 垃圾收集器(Concurrent Mark-Sweep Garbage Collector)

优点:

  • 通过与应用线程并发执行标记和清除过程,减少了垃圾收集时的停顿时间,适合对响应时间要求较高的应用。
  • 对于大部分应用,能够提供比并行垃圾收集器更低的停顿时间。

缺点:

  • 在进行老年代的清理时,可能会出现“并发模式失败”(Concurrent Mode Failure),需要使用 Serial Old 垃圾收集器进行退化处理,可能导致较长的停顿时间。
  • 由于并发执行会占用一定的 CPU 资源,对应用的总吞吐量有一定的影响。
3.3. G1 垃圾收集器(Garbage-First Garbage Collector)

优点:

  • 目标是在有限的时间内实现更加可预测的停顿时间,能够在大堆内存下提供更为稳定的性能。
  • 通过划分堆空间为多个区域(Region),可以根据应用的特征动态调整垃圾收集的策略,有效控制停顿时间。

缺点:

  • 由于复杂的区域管理和垃圾收集策略,可能导致一些性能开销,尤其是在小堆或者低延迟要求的场景中。
  • 初始标记和最终标记阶段仍然需要暂停应用线程,虽然停顿时间通常短暂,但对于某些特别要求低延迟的应用仍可能不够理想。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu16.04升级cmake版本至3.21.0

ubuntu16.04升级cmake版本至3.21.1 前言&#xff1a;建议先看完文章&#xff0c;再逐步跟做。 相对来说。ubuntu16.04是比较稳定一版&#xff0c;但其默认安装的cmake版本是3.5.1&#xff0c;假如我们需要用到更高的cmake版本&#xff0c;则需要手动升级cmake版本号。以cmake3.…

智能体「自我进化」全流程--AgentGym

AI通用智能体的自我进化能力&#xff0c;并非遥不可及。基于大语言模型的智能体已经不再需要人类监督者的帮助&#xff0c;开始实现「自我进化」&#xff01;这个智能体在学习了专家轨迹以后&#xff0c;获得了基础的通用能力&#xff0c;能够在更广泛、更真实的未知环境与任务…

最新Sublime Text软件安装包分享(汉化版本)

Sublime Text 是一款广受欢迎的跨平台文本编辑器&#xff0c;专为代码、标记和散文编辑而设计。它以其简洁的用户界面、强大的功能和高性能而著称&#xff0c;深受开发者和写作者的喜爱。 一、下载地址 链接&#xff1a;https://pan.baidu.com/s/1kErSkvc7WnML7fljQZlcOg?pwdk…

STM32单片机-PWR电源控制和WDG看门狗

STM32单片机-PWR电源控制和WDG看门狗 一、PWR简介二、低功耗模式三、修改主频&睡眠模式&停机模式&待机模式3.1 修改主频3.2 睡眠模式3.3 停机模式3.4 待机模式 四、WDG简介4.1 独立看门狗原理4.2 窗口看门狗原理4.3 IWDG和WWDG对比 五、独立看门狗&窗口看门狗5…

超导托卡马克主要用于可控核聚变领域 我国企业具备高性能产品自主研发实力

超导托卡马克主要用于可控核聚变领域 我国企业具备高性能产品自主研发实力 超导托卡马克又称半超导托卡马克&#xff0c;指电磁线圈由超导材料制成的核聚变装置。与传统托卡马克相比&#xff0c;超导托卡马克具有运行稳定性好、磁场强度高、能承受极强电流、能耗低等优势&#…

理智申请香港优才计划!香港优才的6个真相,很多人被坑了!

理智申请香港优才计划&#xff01;香港优才的6个真相&#xff0c;很多人被坑了&#xff01; 香港优才计划因为取消名额限制变得异常火爆&#xff0c;申请人数大幅上涨&#xff01; 其中也有不少人没有做过思考就直接申请的&#xff0c;最终结果就是被坑。 为什么说被坑&…

PAT A1016. 最短路径

题意 有N个结点围成一个圈&#xff0c;相邻两个点之间的距离已知&#xff0c;且每次只能移动到相邻点。然后给出M个询问&#xff0c;每个询问给出两个数字A和B即结点编号(1≤A,B≤N)&#xff0c;求从A号结点到B号结点的最短距离。样例解释 如图3-2所示,共有5个结点&#xff0c;…

计算机网络:网络层 - IP数据报的转发

计算机网络&#xff1a;网络层 - IP数据报的转发 基于终点转发最长前缀匹配二叉线索树路由表特殊路由特定主机路由默认路由 IP多播 基于终点转发 路由器转发报文时&#xff0c;是通过报文中的目的地址字段来转发的&#xff0c;也即是说路由器只知道终点的IP地址&#xff0c;根…

哈喽GPT-4o——对GPT-4o 编程的思考与看法

GPT-4o&#xff08;“o”代表“全能”&#xff09;它可以接受任意组合的文本、音频和图像作为输入&#xff0c;并生成任意组合的文本、音频和图像输出。 &#x1f449; GPT功能&#xff1a; GPT-4o知识问答&#xff1a;支持1000token上下文记忆功能最强代码大模型Code Copilo…

用电子表单替代纸质表格,签到报名、出入登记更轻松

用纸质表格收集信息时&#xff0c;常常会出现数据丢失、不易统计等问题。我们可以搭建电子表单来代替线下纸质表格&#xff0c;进行信息收集、记录数据。 这些数据会保存在账号下&#xff0c;可以导出Excel或PDF进行存档&#xff1b;也可以根据企业要求自定义PDF导出格式。 并…

【Stable Diffusion 3】本地部署SD3详细教程

&#x1f44b; Hi, I’m Beast Cheng &#x1f440; I’m interested in photography, hiking, landscape… &#x1f331; I’m currently learning python, javascript, kotlin… &#x1f4eb; How to reach me --> 458290771qq.com 1. Stable Diffusion 3 模型下载 「点…

2024: 有效使用OKR的10个技巧

2023年是许多前所未有的一年。从真正意义上讲&#xff0c;这一年让我们为不可预测的事情做好了准备&#xff0c;也为不确定的事情提供了训练。在我们身边发生了这么多事情&#xff0c;而下一步的行动却依然不甚明朗的情况下&#xff0c;领导者们更应该开始制定战略&#xff0c;…

C# 使用NetAutoGUI.Windows做软件自动化操作

.NET兼职社区 搭建开发环境 包名&#xff1a;NetAutoGUI 和 NetAutoGUI.Windows安装NuGet包&#xff1a; ​ NuGet\Install-Package NetAutoGUI -Version 1.0.9​ NuGet\Install-Package NetAutoGUI.Windows -Version 1.0.9如果安装失败则需要设置目标框架为windows 在本指…

大模型日报|4 篇必读的大模型论文

大家好&#xff0c;今日必读的大模型论文来啦&#xff01; 1.ChatGLM 技术报告&#xff1a;从 GLM-130B 到 GLM-4 AII Tools GLM 技术团队介绍了 ChatGLM&#xff0c;这是一个不断发展的大语言模型系列。本报告主要关注 GLM-4 语言系列&#xff0c;包括 GLM-4、GLM-4-Air 和 …

【中霖教育怎么样】二建审核是考前审核还是考后审核?

在二级建造师的报名过程中&#xff0c;考生需经过严格的资格审核&#xff0c;有些地区分为考前审核&#xff0c;该审核分为考前和考后两个阶段。 考前审核&#xff1a; 在考试前&#xff0c;对每位考生的报名条件进行审查&#xff0c;只有符合规定条件的申请者才可参加二级建…

2004年下半年软件设计师【下午题】试题及答案

文章目录 2004年下半年软件设计师下午题--试题2004年下半年软件设计师下午题--答案2004年下半年软件设计师下午题–试题

Flutter TIM 项目配置

目录 1. 设计说明 2. 参考资料索引 Flutter SDK 服务端 Rest API 腾讯后台 其他 3. TIM 整体架构 第一部分&#xff1a;APP 端 第二部分&#xff1a;腾讯服务器 第三部分&#xff1a;三方服务 第四部分&#xff1a;你自己的服务器 4. TIM SDK 集成 TUIK 含 UI 集成…

Windows清理C盘的4类方法【新手小白专用】

一、系统清理法 1.磁盘清理 【Win R】启动命令提示符&#xff0c;输入【cleanmgr】,选择打开C盘&#xff0c;勾选要清理的文件 一般大的文件是【临时文件和下载的程序文件】 2.存储清理&#xff08;1&#xff09; 打开【设置】-【系统】-【存储】-【配置存储感知或立即运行…

第11章 测试代码

第11章 测试代码 11.1 测试函数11.1.1 单元测试和测试用例11.1.2 可通过的测试11.1.3 未通过的测试11.1.4 测试未通过时怎么办11.1.5 添加新测试 11.2 测试类11.2.1 各种断言方法11.2.2 一个要测试的类11.2.3 测试 AnonymousSurvey 类11.2.4 11.1 测试函数 11.1.1 单元测试和测…

34、shell数组+正则表达式

0、课前补充 jiafa () { result$(echo " $1 $2 " | bc ) print "%.2f\n" "$result" } ##保留小数点两位 薄弱加强点 a$(df -h | awk NR>1 {print $5} | tr -d %) echo "$a"一、数组 1.1、定义 数组的定义&am…