JVM——内存溢出

对象的创建及内存分配后就是对象的回收了——垃圾收集器GC

一、GC回收的内存区域

线程私有:程序计数器、虚拟机栈、本地方法栈,都是线程私用的,基本可以在编译期固定大小,在线程或方法执行结束后回收,具备了确定性。

线程共享:Java堆、方法区,由于是线程共享的,无法根据线程来判断内存何时回收,具备不确定性。

所以GC主要回收的区域是Java堆、方法区

二、GC回收的算法

三、GC回收的具体实现