JAVA垃圾回收是一个后台进程,会定期清理不用的对象释放内存,提高内存利用率
但是游离对象是无法被清理,这可能就是计算机程序长期运行内存飙升不下需要重启的一个原因吧,游离对象是指不会被再次使用到,但却又不能被垃圾回收程序识别到的对象,
哪些对象是游离对象或者说游离对象是如何产生的呢?看下面例子,
n=3;
a[]=new String[n];
a[2]="123";n--;这时a[2]原来的值就变为游离对象了。
如何消除或避免游离对象呢,其实也很简单就是将不用的变量置为null,上面例子就是添加这行代码a[2]=null即可。