1. 前言

  Java和C++之间显著的一个区别就是对内存的管理。和C++把内存管理的权利赋予给开发人员的方式不同,Java拥有一套自动的内存回收系统(Garbage Collection,GC)简称GC,可以无需开发人员干预而对不再使用的内存进行回收管理。

  垃圾回收技术(以下简称GC)是一套自动的内存管理机制。当计算机系统中的内存不再使用的时候,把这些空闲的内存空间释放出来重新投入使用,这种内存资源管理的机制就称为垃圾回收。

  其实GC并不是Java的专利,GC的的发展历史远比Java来得久远的多。早在Lisp语言中,就有GC的功能,包括其他很多语言,如:Python(其实Python的历史也比Java早)也具有垃圾回收功能。

  使用GC的好处,可以把这种容易犯错的行为让给计算机系统自己去管理,可以防止人为的错误。同时也把开发人员从内存管理的泥沼中解放出来。

  虽然使用GC虽然有很多方便之处,但是如果不了解GC机制是如何运作的,那么当遇到问题的时候,我们将会很被动。所以有必要学习下Java虚拟机中的GC机制,这样我们才可以更好的利用这项技术。当遇到问题,比如内存泄露或内存溢出的时候,或者垃圾回收操作影响系统性能的时候,我们可以快速的定位问题,解决问题。

  接下来,我们来看下JVM中的GC机制是怎么样的。

2. 哪些内存可以回收

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式