Serial/Serial Old:单线程收集器

核心特点 Serial收集器: 单线程收集器(只用一个线程进行GC) 新生代收集器 使用复制算法 必须暂停所有应用线程(Stop The World) Serial Old收集器: Serial的老年代版本 使用标记-整理算法 工作流程 应用线程执行 ↓ 触发GC ↓ Stop The World(暂停所有应用线程) ↓ 单个GC线程执行垃圾回收 ↓ 恢复应用线程 图解: 应用线程: ████████ [暂停] ████████ GC线程: ▓▓▓▓▓▓ (单线程) 优缺点 优点 简单高效:单线程无需线程切换开销 内存占用小:适合小堆内存 客户端模式默认:适合桌面应用 缺点 Stop The World时间长:单线程收集效率低 不适合服务端:停顿时间无法接受 使用方法 # 启用Serial收集器(新生代)+ Serial Old(老年代) java -XX:+UseSerialGC -jar app.jar # 查看GC日志 java -XX:+PrintGCDetails -XX:+UseSerialGC -jar app.jar 适用场景 客户端应用:桌面应用、小工具 小内存应用:堆内存<100MB 单CPU环境:无法利用多线程优势 GC日志示例 [GC (Allocation Failure) [DefNew: 3072K->320K(3456K), 0.0015428 secs] 3072K->1344K(11904K), 0.0015779 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 解读: · DefNew:新生代使用Serial收集器 · 3072K->320K:新生代从3MB降到320KB · (3456K):新生代总大小3.5MB · 0.0015428 secs:GC耗时1.5毫秒 总结 Serial:最古老、最简单的收集器 单线程:Stop The World时间长 适用场景:客户端、小内存应用 现代应用:基本不使用(除非资源极度受限) 下一篇预告:《ParNew/Parallel:并行收集器》 ...

2025-11-20 · maneng

如约数科科技工作室

浙ICP备2025203501号

👀 本站总访问量 ...| 👤 访客数 ...| 📅 今日访问 ...