java中的对象由new进行创建,由系统自动进行对象的清除,清除无关对象的过程称为垃圾回收。
对象的回收是由java虚拟机的垃圾回收线程来完成的,该线程是对无用对象在适当的时机进行回收。
那么,Java是如何得知一个对象是无用的呢?
这里的关键是,系统中的任何对象都有一个引用计数,一个对象被引用一次,则引用计数为1,被引用两次,则引用计数为2。以此类推,当一个对象的引用计数被减为0时,说明该对象可回收。
System类中的System.gc()方法
System类中有一个static方法,叫System.gc(),他可以要求系统进行垃圾回收。但它也只是“建议”系统回收垃圾,而没有办法强制系统进行垃圾回收,也无法控制怎样进行回收,以及何时进行回收。