文章目录
零、本讲学习目标
- 理解为何需要垃圾回收
- 了解对象在内存中的状态转换
- 了解典型的垃圾收集算法
一、垃圾回收机制
(一)提出问题
- 在Java中,当一个对象成为垃圾后仍会占用内存空间,时间一长,就会导致内存空间的不足
(二)解决问题
- 针对内存空间不足的情况,Java中引入了垃圾回收机制(Java Garbage Collection - Java GC)
- 有了垃圾回收机制,程序员不需要过多关心垃圾对象回收的问题,Java虚拟机会自动回收垃圾对象所占用的内存空间。
二、对象在内存中的状态转换
- 一个对象在彻底失去引用成为垃圾后会暂时地保留在内存中,当这样的垃圾堆积到一定程度时,Java虚拟机就会启动垃圾回收器将这些垃圾对象从内存中释放,从而使程序获得更多可用的内存空间。
三、垃圾回收机制的意义
- Java语言中一个显著的特点就是引入了垃圾回收机制,使C++程序员最头疼的内存管理