如何选择垃圾收集器?
1 个回答
如果无能为力,那就顺其自然。如果心无所待,那就随遇而安。玄天### 选择垃圾收集器的建议 1. **堆大小较小(如 100MB 以下)** - **推荐收集器**:串行收集器 - **参数**:`-XX:+UseSerialGC` - **适用场景**:堆大小较小,或者应用运行在单核机器上,串行收集器效率较高。 2. **单核环境** - **推荐收集器**:串行收集器 - **参数**:`-XX:+UseSerialGC` - **适用场景**:虚拟机只有单核,启用并行收集器没有任何收益。 3. **吞吐量优先** - **推荐收集器**:并行收集器 - **参数**:`-XX:+UseParallelGC` - **适用场景**:应用对较长时间的停顿没有特别要求,追求高吞吐量。 4. **响应时间优先** - **推荐收集器**:G1、ZGC、CMS - **参数**: - `-XX:+UseConcMarkSweepGC` - `-XX:+UseG1GC` - `-XX:+UseZGC` - **适用场景**:应用对响应时间要求较高,停顿时间较短(甚至 1 秒的停顿都会引起大量请求失败)。这些收集器通常停顿时间较短,但需要一些额外资源处理工作,可能导致吞吐量稍低。 #### 总结 - **Web 服务器**:对响应性要求高,推荐使用 CMS、G1、ZGC。 - **定时任务**:对停顿时间要求不高,推荐使用并行收集器。编辑于 2024-07-21 10:32 •IP属地 北京举报评论收藏
公众号进入网站体验更佳

