java程序设计中有关内存管理的经验
2012-11-04 19:15
218 查看
java程序设计中有关内存管理的经验
1.最基本的建议是尽早释放无用对象的引用。如: ... A a = new A(); //应用a对象 a = null; //当使用对象a之后主动将其设置为空 …. 注:如果a 是方法的返回值,不要做这样的处理,否则你从该方法中得到的返回值永远为空,而且这种错误不易被发现、排除
2.尽量少用finalize函数。它会加大GC的工作量。
3.如果需要使用经常用到的图片,可以使用soft应用类型。它尽可能把图片保存在内存中
4.注意集合数据类型,包括数组、树、图、链表等数据结构,这些数据结构对GC来说,回收更为复杂。
5.尽量避免在类的默认构造器中创建、初始化大量的对象,防止在调用其自类的构造器时造成不必要的内存资源浪费
6.尽量避免强制系统做垃圾内存的回收,增长系统做垃圾回收的最终时间
7.尽量避免显式申请数组空间
8.尽量做远程方法调用类应用开发时使用瞬间值变量,除非远程调用端需要获取该瞬间值变量的值。
9.尽量在合适的场景下使用对象池技术以提高系统性能
1.最基本的建议是尽早释放无用对象的引用。如: ... A a = new A(); //应用a对象 a = null; //当使用对象a之后主动将其设置为空 …. 注:如果a 是方法的返回值,不要做这样的处理,否则你从该方法中得到的返回值永远为空,而且这种错误不易被发现、排除
2.尽量少用finalize函数。它会加大GC的工作量。
3.如果需要使用经常用到的图片,可以使用soft应用类型。它尽可能把图片保存在内存中
4.注意集合数据类型,包括数组、树、图、链表等数据结构,这些数据结构对GC来说,回收更为复杂。
5.尽量避免在类的默认构造器中创建、初始化大量的对象,防止在调用其自类的构造器时造成不必要的内存资源浪费
6.尽量避免强制系统做垃圾内存的回收,增长系统做垃圾回收的最终时间
7.尽量避免显式申请数组空间
8.尽量做远程方法调用类应用开发时使用瞬间值变量,除非远程调用端需要获取该瞬间值变量的值。
9.尽量在合适的场景下使用对象池技术以提高系统性能
相关文章推荐
- Java程序设计中有关内存管理的其他经验
- 【摘录】JAVA内存管理-有关垃圾收集的关键参数
- Java程序设计(二)---有关数据间的强制转换
- Java 桌面程序设计经验谈
- Java 桌面程序设计经验谈
- 有关JAVA的面向对象程序设计方法较全面介绍的一本书
- 有关Java一些知识的[好文列表]
- Java中有关Null的9件事
- Java项目经验——程序员成长的钥匙
- Java学习课堂笔记——面向对象程序设计的基本概念
- JVM内存管理:深入Java内存区域与OOM
- 有关Java中数组和反射的使用
- 由浅入深,切身体会高并发socket java程序设计
- Java程序设计——第十六周周五:数据库的连接与随机数使用
- 有关Java中try catch无法在while循环中使用的情况
- java基础教程-面向对象的程序设计
- Java---NullPoint经验解析
- Java程序设计概述
- Java语言程序设计基础篇 数组(六)
- catalina.sh设置JAVA_HOME后还无法解决更换JDK有关问题