内存分配是在JVM在内存分配的时候,新生代内存不足时,把新生代的存活的对象搬到老生代,然后新生代腾出来的空间用于为分配给最新的对象。这里老生代是担保人。在不同的GC机制下,也就是不同垃圾回收器组合下,担保机制也略有不同。在Serial+Serial Old的情况下(客户端),发现放不下就直接启动担保机制;在Parallel Scavenge+Serial Old(服务端)的情况下,却是先要去判断一下要分配的内存是不是>=Eden区大小的一半,如果是那么直接把该对象放入老生代,否则才会启动担保机制。
https://mp.weixin.qq.com/s/Br59TLiL8sjeS67SuWjxmw
http://blog.csdn.net/jarvan_song/article/details/70196587
http://m.blog.csdn.net/jarvan_song/article/details/70196587