官网的推荐语:G1是第一个重点是为运行需要大堆且GC延迟有限的应用程序的用户提供解决方案,这意味着大约6GB或者更大的堆大小,以及低于0.5秒的稳定且可预测的暂停时间
1.50%以上的JAVA堆被存活对象占用
2.对象分配和晋升的速度变化非常大 垃圾回收频繁
3.垃圾回收时间比较长 超过0.5或者1秒
吞吐量和停顿时间
停顿时间:垃圾收集器在进行垃圾回收终端应用执行响应的时间
吞吐量: 运行用户代码时间/(运行用户代码时间+垃圾收集时间)
停顿时间越短就越适合需要和用户交互的程序,良好的响应速度能提升用户体验;
高吞吐量则可以高效的利用CPU的时间,尽快完成程序的运算任务,主要适合在后台运算而不需要太多交互的任务;