,所以GC的第一步就是需要判断在这个堆空间当中哪些对象还存活着
解决方法
1.引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用,则计数器+1,当引用失效则计数器-1,当计数器为0,则GC....主要来源于它对CPU的敏感度给常高,它虽然不会导致用户的其它线程停顿,但是会导致其它应用程序变慢,吞吐量会变慢,CMS默认启动的回收线程数=(CPU数量+3)/4,当CPU数量为4的时候,那么资源占用为...25%,但是当CPU数量小于等于2的时候,那么资源占用率就至少达到了72.5%
综上所述:对于高性能的服务器,具备4个以上的CPU来说,采用CMS垃圾收集器是非常可观的
G1收集器
从...:更有利于程序的长时间运行,分配大对象时不会因为无法找到连续的内存空间而提前触发了GC
4.可预测的停顿:可以设置垃圾收集的时间最大值不超过N毫秒
5.GI的执行过程
初始标记
并发标记
最终标记
筛选标记...对象分配原则
1.优先分配在新生代Eden区中,当Eden区当中空间不足时,触发Minor GC
2.大对象或者是长期存活调用频繁的对象会进入到年老代,当年老代空间不足时会触发Major GC,Major