(1)什么是内存泄漏? 内存泄漏是指对象不再被应用程序使用,但是垃圾回收器却不能移除它们,因为它们正在被引用。 举个例子:食堂吃完饭需要自己收盘,如果没有收盘,会有服务员帮忙收取,收取之后擦擦桌子,下一桌客人就可以来了(诶好像当时开心餐厅哈哈哈哈哈)。但是如果有客人吃完了,占着桌子看剧不走,那桌子就没法给下一个客人用了。如果今儿赶巧了,一帮人都来餐厅吃饭,占满了桌子,吃完了还都不走,这个餐厅不就没生意了吗?这就是内存泄漏的问题。 (2)如何解决内存泄漏? (2-1)使用临时变量的时候,让引用变量在退出活动域后自动设置为null,并减少静态变量的声明。相当于每个桌子上提前摆一个牌,写着“2小时内离场”,这样如果客人吃完饭赖在桌子上,我就有理由“送客”了。 (2-2)避免集中创建对象尤其是大对象,如果可以的话尽量使用流操作。相当于避免所有客人都同时到场同时点菜,这样会导致后面来的客人一看没位置全走了。反之,如果分批把客人迎进来,每个时间段就都会有客人离开腾出空桌子,也会有新客人进来。 (2-3)尽量运用对象池技术以提高系统性能,相当于把桌子变大一点 (2-4) 特别地,程序进行字符串处理时,尽量避免使用String,而应使用StringBuffer。
点赞 评论

相关推荐

牛客网
牛客企业服务