GC是什么:
GC英文全称为Garbage Collection,即垃圾回收。
Java中的GC就是对内存的GC。
Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。
我们知道对象的分配,程序员可以通过new关键字,Class的new-Instance方法等来显示的分配;而对象的释放,程序员不能实时的进行释放,这就需要GC来完成。
为什么要用GC?
因为内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃。因此,Java提供了GC功能。该功能可以自动监测对象是否超过作用域从而判断是否需要回收内存。
GC有效的防止了内存泄漏,可以有效的使用可以使用的内存。
怎么GC?
- 标记-清除算法:标记无用对象,然后对其进行清除回收。
- 复制算法:将内存区域划分为大小相等的两部分,每次只使用一部分,当该部分用完后将其存活的对象移至另一部分,并把该部分内存全部清除。
- 标记-整理算法:标记无用对象,让所有存活的对象都向