news 2026/5/19 22:51:47

【大白话说Java面试题 第62题】【JVM篇】第22题:怎么查看服务器默认的垃圾回收器是哪一个?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【大白话说Java面试题 第62题】【JVM篇】第22题:怎么查看服务器默认的垃圾回收器是哪一个?
第22题:怎么查看服务器默认的垃圾回收器是哪一个

📚回答:

  • 核心考点
    “默认”指未显式指定GC参数时,JVM根据JDK版本、CPU核心数、内存大小自动选择的回收器。不同版本默认值不同。

1. 不启动进程即可查(大厂必会)

方法一:java -XX:+PrintFlagsFinal -version | grep Use

java-XX:+PrintFlagsFinal-version|grep-E"Use.*GC"
  • 输出解读
    • bool UseParallelGC = true→ JDK 8 默认(Parallel)
    • bool UseG1GC = true→ JDK 9+ 默认(G1)
  • 关键:=表示最终生效值,=表示未被修改但可能是默认

方法二:java -XX:+PrintCommandLineFlags -version

java-XX:+PrintCommandLineFlags-version

输出示例(JDK 8):

-XX:InitialHeapSize=... -XX:+UseParallelGC -XX:+UseParallelOldGC

优点:直接显示当前环境实际使用的GC。


2. 运行中进程查(生产环境常用)

方法一:jinfo -flags <PID>

jinfo-flags12345|grep-E"Use.*GC"

注意:只显示非默认值。如果输出为空,说明用的是当前版本的出厂默认GC

方法二:jstat -gc <PID>反推

jstat-gc123451s

通过空间名称判断:

输出中出现的关键字对应GC
PSYoungGenParOldGenParallel(JDK 8默认)
G1 Young GenerationG1 Old GenG1(JDK 9+默认)
ParNewCMSCMS(已废弃)
S0C+S1C但无PS前缀Serial

3. 不同JDK版本的默认GC(面试必背)
JDK版本默认垃圾回收器
JDK 7及以前Parallel GC(但Server/Client模式有别)
JDK 8Parallel GC(-XX:+UseParallelGC
JDK 9 ~ JDK 14G1(-XX:+UseG1GC
JDK 15+仍是G1,但ZGC逐步成熟(需显式开启)
  • 考点:JDK 8默认不是G1,JDK 9+默认才是G1。很多人会答错。

4. 快速判断脚本(大厂面试手写级)
# 一行命令判断当前JDK默认GCjava-XX:+PrintCommandLineFlags-version2>&1|grep-oE'\-XX:\+Use[^ ]*GC'|head-1

5. 总结对比表
方法是否需要进程结果准确性适用场景
PrintFlagsFinal | grep最终生效值开发/测试环境
PrintCommandLineFlags直接显示快速确认
jinfo -flags运行中值生产环境
jstat -gc间接推断无法用jinfo时

💡面试官想要的满分回答

“查看默认GC分两种情况:

  1. 未启动时:用java -XX:+PrintCommandLineFlags -version直接看到启动参数中自动添加的GC标志。
  2. 已运行进程:用jinfo -flags <PID>查看是否显式设置过GC,如果输出没有GC相关参数,说明用的是该JDK版本的出厂默认值。

记住:JDK 8默认Parallel,JDK 9+默认G1。生产环境不要凭记忆,必须用命令实际验证。”


觉得对您有帮助,麻烦点点关注啦,您的关注是我创作的最大动力~ 🎯

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/19 22:45:45

远程控制app哪个好 无界趣连2.0怎么实现远程控制

市面上的远程控制app五花八门&#xff0c;选对一款才能真正解决需求、提升效率&#xff0c;避免操作卡顿、功能受限的麻烦。日常中在异地游玩家中的台式电脑、或是出门在外需要修改设计图纸&#xff0c;都离不开好用的远程控制app。无需复杂操作、功能全面且体验流畅的无界趣连…

作者头像 李华
网站建设 2026/5/19 22:44:48

机器学习入门实战指南:从零搭建环境到完成第一个分类项目

1. 项目概述&#xff1a;从零开始的机器学习之旅“机器学习”这个词&#xff0c;听起来是不是既酷炫又让人望而生畏&#xff1f;你可能在新闻里看到它驱动着自动驾驶汽车&#xff0c;在手机里体验过它带来的智能推荐&#xff0c;甚至听说它正在改变各行各业。但当你真正想自己动…

作者头像 李华
网站建设 2026/5/19 22:40:47

计算机数值型数据表示:从二进制到浮点数与字符编码的底层原理

1. 项目概述&#xff1a;从“0”和“1”到万千世界我们每天都在和计算机打交道&#xff0c;无论是刷短视频、处理文档&#xff0c;还是运行复杂的科学计算。你有没有想过&#xff0c;屏幕上那些生动的图像、动听的音乐、精确的数值&#xff0c;在计算机的“大脑”——CPU和内存…

作者头像 李华