JAVA内存管理的一些经验.

1. 尽早释放无用对象的引用。
   A a = new A();
   ...
   a = null;

2. 尽量少使用finalize函数。finalize函数会加大GC的工作量。

3. 如果需要经常使用到的图片,可以使用soft应用类型。它可以尽可能将图片保存到内存中,供程序调用,而不引起OutOfMemory。

4. 一些复杂数据类型,如数组、树、图、链表、集合等数据结构,这些数据结构对GC来说,回收更为复杂。
另外注意一些全局变量和一些静态变量。这些变量往往容易引起悬挂对象,造成内存浪费。

5. 尽量避免在类的默认构造器中创建、初始化大量的对象。

6. 尽量避免强制系统做垃圾内存的回收(显示调用System.gc()),增长系统做垃圾回收的最终时间,降低系统性能。

7. 用到了在进行初始化,既需要改对象的时候在进行初始化操作,采用懒加载机制。

8. 尽量避免显示申请数组空间。

9. 懒延迟机制。等需要的时候在调用。

10. 对象池技术。比如Spring平台

你可能感兴趣的:(java,spring,数据结构,工作)