垃圾收集器总结: 最初使用Serial+Serial Old收集垃圾,最简单,两者都是单线程的,所以只适合少内存使用。 随着内存增大,开始使用Parallel Scavenge +Parallel Old , 这两个其实就是前面两个Serial的多线程版本,性能更好一点,在JDK1.6-1.8中作为默认垃圾回收器。 随着内存进一步增大,出现了ParNew+CMS的组合,其中ParNew是Parallel Scavenge为了配合CMS出现的改进版本,CMS是并发标记清除。看似性能更好,实则存在巨大的缺陷:CMS会导致大量的内存碎片, 而内存碎片太多的时候,会使用Serial Old这个单线程的收集器进行垃圾收集(雾).... 从JDK1.7之后出现了G1垃圾收集器,在JDK1.8之后开始完善,它支持更大的内存(大概几百G),特点是逻辑分代,物理不分代,它的stop-the-world时间可以小于200ms。还有一个在JDK11中推出的垃圾回收器ZGC,还正在开发,它的逻辑、物理都不分代,而且能支持16T的内存,传说停顿时间只有1ms(***C++!)
8

相关推荐

点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务