垃圾回收概述

目录

什么是垃圾回收

  1. 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾
  2. 垃圾回收(英语:Garbage Collection,缩写为GC)是指一种自动的存储器管理机制。当某个程序占用的一部分内存空间不再被这个程序访问时,这个程序会借助垃圾回收算法向操作系统归还这部分内存空间,垃圾回收最早起源于LISP语言

为什么需要GC

  1. 如果不进行垃圾回收,内存迟早要被用完
  2. 垃圾回收可以清除内存里的碎片,以便于 JVM 将整理出的内存分配给新对象
  3. 业务越来越复杂、庞大,不进行GC程序无法正常运行

Java垃圾回收机制

  1. 自动内存管理,无需开发人员手动参与内存的分配与回收,这样降低内存泄漏和内存溢出的风险
  2. 将应用程序开发人员从手动管理内存中解放出来

缺点

如果过度依赖自动管理,会弱化Java开发人员在遇到内存溢出时定位问题和解决问题的能力

上一篇:GC垃圾回收器选择小总结


下一篇:哪些元素可以当作为"GC Roots"?