serial收集器、ParNew收集器
-
serial垃圾收集器
-
Serial是⼀个单线程的垃圾收集器
-
特点
“Stop The World”,它进⾏垃圾收集时,必须暂停其他所有的⼯作线程,直到它收集结束。在⽤户不可⻅的情况下把⽤户正常⼯作的线程全部停掉 使⽤场景:多⽤于桌⾯应⽤,Client端的垃圾回收器 桌⾯应⽤内存⼩,进⾏垃圾回收的时间⽐较短,只要不频繁发⽣停顿就可以接受
-
图解
-
parnew垃圾收集器
ParNew 收集器其实就是 Serial 收集器的多线程版本,除了使⽤多条线程进⾏垃圾收集之外,其余⾏为包括 Serial 收集器可⽤的所有控制参数 (例如:-XX: SurvivorRatio、-XX:PretenureSize' Threshold、-XX: HandlePromotionFailure 等)、收集算法、Stop TheWorld、 对象分配规则、回收策略等都与 Serial 收集器完全⼀样,在实现上,这两种收集器也共⽤了相当多的代码
-
图解
-
特点
ParNew 收集器除了多线程收集之外,其他与 Serial 收集器相⽐并没有太多创新之处,但它却是许多运⾏在 Server 模式下的虚拟机中⾸选的新⽣代收集器, 其中有⼀个与性能⽆关但很重要的原因是,除了 Serial 收集器外,⽬前只有它能与 CMS 收集器配合⼯作。 使⽤-XX: ParallelGCThreads 参数来限制垃圾收集的线程数 多线程操作存在上下⽂切换的问题,所以建议将-XX: ParallelGCThreads设置成和CPU核数相同,如果设置太多的话就会产⽣上下⽂切换消耗
- 并发与并⾏
并⾏(Parallel):指多条垃圾收集线程并⾏⼯作,但此时⽤户线程仍然处于等待状态。 并发(Concurrent):指⽤户线程与垃圾收集线程同时执⾏(但不⼀定是并⾏的,可能会交替执⾏),⽤户程序在继续运⾏,⽽垃圾收集程序运⾏于另⼀个 CPU 上
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-09-15 ts基础