什么是垃圾回收
- 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾
- 垃圾回收(英语:Garbage Collection,缩写为GC)是指一种自动的存储器管理机制。当某个程序占用的一部分内存空间不再被这个程序访问时,这个程序会借助垃圾回收算法向操作系统归还这部分内存空间,垃圾回收最早起源于LISP语言
为什么需要GC
- 如果不进行垃圾回收,内存迟早要被用完
- 垃圾回收可以清除内存里的碎片,以便于 JVM 将整理出的内存分配给新对象
- 业务越来越复杂、庞大,不进行GC程序无法正常运行
Java垃圾回收机制
- 自动内存管理,无需开发人员手动参与内存的分配与回收,这样降低内存泄漏和内存溢出的风险
- 将应用程序开发人员从手动管理内存中解放出来
缺点
如果过度依赖自动管理,会弱化Java开发人员在遇到内存溢出时定位问题和解决问题的能力