JVM——内存溢出
对象的创建及内存分配后就是对象的回收了——垃圾收集器GC
一、GC回收的内存区域
线程私有:程序计数器、虚拟机栈、本地方法栈,都是线程私用的,基本可以在编译期固定大小,在线程或方法执行结束后回收,具备了确定性。
线程共享:Java堆、方法区,由于是线程共享的,无法根据线程来判断内存何时回收,具备不确定性。
所以GC主要回收的区域是Java堆、方法区。
二、GC回收的算法
三、GC回收的具体实现
对象的创建及内存分配后就是对象的回收了——垃圾收集器GC
线程私有:程序计数器、虚拟机栈、本地方法栈,都是线程私用的,基本可以在编译期固定大小,在线程或方法执行结束后回收,具备了确定性。
线程共享:Java堆、方法区,由于是线程共享的,无法根据线程来判断内存何时回收,具备不确定性。
所以GC主要回收的区域是Java堆、方法区。
二、GC回收的算法
三、GC回收的具体实现