浅析JAVA面试题中常见问题之JVM GC垃圾回收
JVM GC 思维导图
JVM 就是一般所说的JAVA虚拟机,通过Java虚拟机将.class文件编译成特定机器上的机器码,从而达到跨平台使用
一.GC要做的3件事
1.1 哪些内存需要被回收?
GC垃圾回收,就是回收堆中所占用的内存区域,是被线程共享的一块内存区域,创建的对象和数组都保存在 Java 堆内存中
1.2 什么时候触发GC垃圾回收?’
当新生代的Eden和From Survivor 的空间不足时就会发生一次 GC,
1.3 GC垃圾回收的机制是什么?
-
进行垃圾回收,Eden 和 From Survivor 区域的存活对象会被挪到 To Survivor 区域,然后将 Eden 和
From Survivor 区域内存进行清理。 -
如果 To Survivor 区域无法足够存储某个对象,则将这个对象存储到老年代中,
-
.当对象在 Survivor 区域躲过一次 GC 垃圾回收后,其年龄就会+1。默认情况下年龄到达 15 的对象会被移到老年代中。