面试题之JDK8默认垃圾回收器是什么

本文深入解析JDK8默认的垃圾回收器配置,ParallelScavenge+SerialOld,及如何通过-XX:参数查看和调整。理解年轻代、老年代的分配策略,提升Java应用性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java -XX:+PrintCommandLineFlags -version

-XX:InitialHeapSize=266390080 -XX:MaxHeapSize=4262241280 -XX:+PrintCommandLineFlags 
-XX:+UseCompressedClassPointers -XX:+UseCompressedOops 
-XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

UseParallelGC = Parallel Scavenge(新生代)+ Serial Old(老年代)

java -XX:+PrintGCDetails -version

java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
Heap
 	PSYoungGen      total 76288K, used 2621K [0x000000076b500000, 0x0000000770a00000, 0x00000007c0000000)
  					eden space 65536K, 4% used [0x000000076b500000,0x000000076b78f748,0x000000076f500000)
  					from space 10752K, 0% used [0x000000076ff80000,0x000000076ff80000,0x0000000770a00000)
  					to   space 10752K, 0% used [0x000000076f500000,0x000000076f500000,0x000000076ff80000)
	ParOldGen       total 175104K, used 0K [0x00000006c1e00000, 0x00000006cc900000, 0x000000076b500000)
  					object space 175104K, 0% used [0x00000006c1e00000,0x00000006c1e00000,0x00000006cc900000)
 	Metaspace       used 2291K, capacity 4480K, committed 4480K, reserved 1056768K
  					class space    used 254K, capacity 384K, committed 384K, reserved 1048576K

附上此图: 

JVM内存管理:深入垃圾收集器与内存分配策略

这里写图片描述

所以,jdk8环境下,默认使用 Parallel Scavenge(新生代)+ Serial Old(老年代)

-XX:+PrintCommandLineFlags 参数可查看默认设置收集器类型
-XX:+PrintGCDetails亦可通过打印的GC日志的新生代、老年代名称判断

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值