http://blog.csdn.net/zhushuai1221/article/details/51027024 当年轻代内存满时,会引发一次普通GC,该GC仅回收年轻代。需要强调的时,年轻代满是指Eden代满,Survivor满不会引发GC 当年老代满时会引发Full GC,Full GC将会同时回收年轻代、年老代 当永久代满时也会引发Full GC,会导致Class、Method元信息的卸载 另一个问题是,何时会抛出OutOfMemoryException,并不是内存被耗空的时候才抛出 JVM98%的时间都花费在内存回收 每次回收的内存小于2% 满足这两个条件将触发OutOfMemoryException,这将会留给系统一个微小的间隙以做一些Down之前的操作,比如手动打印Heap Dump。