内存管理技巧和方式
来源:互联网 发布:秦淮数据怎么样 编辑:程序博客网 时间:2024/05/16 17:34
(1)要尽早的释放无用对象的引用。如果,该对象不用了,你可以把它设置为null。但要注意,如果该对象是某方法的返回值,千万不要这样处理,否则你从该方法中得到的返回值永远为空,而且这种错误不易被发现,因此这时很难及时抓住、排除NullPointerException异常。
(2)尽量少用finalize函数。因为它会加大GC的工作量,因此尽量少用finalize方式回收资源。
(3)如果需要使用经常用到的图片,可以使用soft应用类型(也就是转换为软引用类型),它可以尽可能将图片保存在内存中,供程序调用,而不引起OutOfMemory。
(4)注意集合数据类型,包括数组、树、图、链表等数据结构,这些数据结构对于GC来说,回收更为复杂。另外,要注意那些全局变量,静态变量,这些对象往往容易引起悬挂对象,造成内存浪费。
(5)尽量避免在类的默认构造器中创建、初始化大量的对象,防止在调用其子类的构造器时造成不必要的内存资源浪费。
(6)尽量避免强制系统做垃圾内存回收(通过显式调用方法System.gc()),增长系统做垃圾回收的最终时间,降低系统性能。
(7)尽量避免显式申请数组空间,当不得不显式申请数组空间时尽量准确的估计出其合理值,以免造成不必要的系统内存开销。
(8)尽量在做远程方法调用(RMI)类应用开发时使用瞬间值变量,除非远程调用端需要获取该瞬间值变量的值。
(9)尽量在合适的场景下使用对象池技术以提高系统的性能,缩减系统内存开销,但是要注意对象池的尺寸不易过大,及时清除无效对象释放内存资源,综合考虑应用运行环境的内存资源限制,避免过高估计运行环境所提供内存资源的数量。
- 内存管理技巧和方式
- 内存管理技巧
- ACE内存管理方式
- 内存管理有哪几种方式
- WINDOWS内存管理方式
- 内存管理方式
- autoRelease内存管理方式
- 【C++】内存管理方式
- C++技巧2内存管理和优秀的设计思想
- Swift开发必备技巧:内存管理、weak和unowned
- Swift开发必备技巧:内存管理、weak和unowned
- Linux中的虚拟地址、物理地址和内存管理方式
- 理解stl内存管理方式和cocos2dx不符
- Windows内存管理的几种方式和优缺点
- Windows 内存管理的几种方式和优缺点
- Linux中的虚拟地址、物理地址和内存管理方式详解
- JAVA内存管理的技巧
- 内存管理的小技巧
- SmartSvn的使用
- MyBatis与Spring设置callSettersOnNulls
- [上下界费用流] BZOJ 3876 [Ahoi2014]支线剧情
- python+pyqt实现12306图片验证效果
- SpringMVC+mybatis +oracle wm_concat 报错 ORA-22922: 不存在的 LOB
- 内存管理技巧和方式
- 谷歌浏览器详细用法
- ThinkPHP-微信支付案例
- HDOJ:最少拦截系统
- 设计模式(四)std::function接口编程彻底取代抽象工厂和工厂方法
- 混IT,必须理解“甲方乙方”
- 正确使用Android性能分析工具——TraceView
- Multiple types were found that match the controller
- C# Timer用法及实例详解