会暂停程序的执行,带来延迟的代价。所以在开发中,我们不希望GC的次数过多。
本文将讨论如何在开发中改善各种细节,从而减少GC的次数。...(3)尽量少用静态变量
静态变量属于全局变量,不会被 GC 回收,它们会一直占用内存。...(4)尽量使用 StringBuffer,而不用 String 来累加字符串
由于 String 是固定长的字符串对象,累加 String 对象时,并非在一个 String对象中扩增,而是重新创建新的...避免这种情况可以改用 StringBuffer 来累加字符串,因 StringBuffer是可变长的,它在原有基础上进行扩增,不会产生中间对象
(5)分散对象创建或删除的时间
集中在短时间内大量创建新对象...集中删除对象,道理也是一样的。 它使得突然出现了大量的垃圾对象,空闲空间必然减少,从而大大增加了下一次创建新对象时强制主 GC 的机会。