1. 优先调整堆的大小让服务器自己来选择
2. 如果内存小于100M,使用串行收集器
3. 如果是单核,并且没有停顿时间的要求,串行或JVM自己选择
4. 如果允许停顿时间超过1秒,选择并行或者JVM自己选
5. 如果响应时间最重要,并且不能超过1秒,使用并发收集器
6. 4G以下可以用parallel,4-8G可以用ParNew+CMS,8G以上可以用G1,几百G以上用ZGC
下图有连线的可以搭配使用
![](https://i-blog.csdnimg.cn/blog_migrate/802bf3acb4aee95c20716c5f3d2ad5c7.png)
JDK 1.8默认使用 Parallel(年轻代和老年代都是)
JDK 1.9默认使用 G1