`

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内存管理详细介绍.doc

    Java内存管理是Java编程中至关重要的一环,它与C++等其他语言的内存管理机制有着显著的区别。在C++中,程序员需要手动管理内存,包括分配和释放,而在Java中,这一过程则由Java虚拟机(JVM)自动进行,通过垃圾收集...

    JAVA内存管理模式研究.pdf

    "JAVA内存管理模式研究" 在 Java 编程语言中,内存管理是非常关键的机制之一。 Java 虚拟机(JVM)通过对内存的分配和回收来管理内存资源。 本文将详细介绍 Java 的内存管理模式,包括内存区域、内存分配策略、垃圾...

    Tomcat内存溢出的解决方法(java.util.concurrent.ExecutionException)

    然而,如同任何其他程序一样,Tomcat也可能遇到内存管理问题,导致内存溢出。"java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError" 是一个典型的错误提示,它表明在并发执行过程中遇到了内存不足...

    JAVA内存分配与管理.doc

    栈与堆的主要区别在于存取速度和内存管理。栈的存取速度快,但空间有限,数据生存期确定;堆则可以动态分配内存,适合存储大小不固定的对象,但速度相对较慢,由垃圾回收器负责内存释放。 对于String常量,它们的值...

    内存不足OOM java.lang.OutOfMemoryError.

    总的来说,理解Java内存模型和垃圾收集机制,监控应用的内存使用,以及根据实际情况调整JVM参数,是避免和解决“内存不足OOM”问题的关键。开发者需要对代码进行审查,确保有效利用内存,及时释放不再需要的资源,以...

    Java内存监视器.rar

    总结来说,“Java内存监视器.rar”提供了实践性的工具和思路,帮助开发者深入理解Java内存管理,从而提升程序性能。学习并掌握这些知识,不仅可以优化代码,还能在解决复杂问题时得心应手。对于标签中的“Java源码-...

    支持复合对象的Java虚拟机内存管理技术研究.pdf

    支持复合对象的Java虚拟机内存管理技术研究 在面向对象系统中,对象是研究的基本单位,对象可以是简单的整数或复杂的飞机等。对象具有状态和操作,对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。...

    Java的内存管理机制分析

    通过对Java内存管理机制的深入分析,我们可以了解到Java如何高效地管理和利用内存资源。理解这些机制对于优化Java应用程序的性能至关重要,特别是在处理大规模数据集或多线程环境时。此外,合理配置JVM参数和选择...

    深入Java核心 Java内存分配原理精讲.docx

    下面将详细阐述这些区域的作用和Java内存管理的核心概念。 1. 寄存器:这是计算机硬件层面的一个概念,用于存储运算过程中的中间结果,速度极快,但数量有限,程序员无法直接控制。 2. 栈(Stack):栈是Java内存...

    java内存管理精彩概述

    Java内存管理是Java核心技术的重要组成部分,对于每个开发者来说,理解其工作原理都是十分必要的。这一主题既实用又有趣。以下是对Java内存管理的精彩概述,主要基于Sun Hotspot JVM,但请注意,不同JVM可能有不同的...

    JAVA内存溢出详解.doc

    Java内存溢出(Out Of Memory,OOM)是Java应用程序运行时常见的问题,它通常发生在程序对内存需求超过了Java虚拟机(JVM)所能提供的可用内存时。本文将深入探讨Java内存溢出的原因、表现以及如何解决。 1. **Java...

    java错误处理:java.lang.OutOfMemoryError: Java heap space

    - **Java heap space**: 堆是JVM管理的一部分内存,用于存储对象实例和数组。当堆内存无法满足新对象的分配需求时,就会抛出此异常。 **描述:“搜集整理关于java错误处理:java.lang.OutOfMemoryError: Java heap ...

    java内存原理.doc

    Java 中的内存管理机制是自动的,开发者不需要手动释放内存,但是这也使得 Java 程序占用内存相对较高。为了避免内存泄露,开发者需要注意在编写程序时,合理地使用内存资源。 Java 内存原理的优点: * 自动内存...

    【深入Java虚拟机】Java内存模型探讨一.pdf

    总的来说,Java内存模型是Java程序运行的基础,它定义了数据如何在JVM内部被组织和管理。理解这些概念对于写出高效、线程安全的Java代码至关重要。因此,无论是初学者还是经验丰富的开发者,都应该深入学习和掌握...

    JAVA内存管理总结.pdf

    Java内存管理是Java程序运行过程中的关键环节,主要涉及对象的分配和释放。在Java中,内存分为两大部分:栈内存和堆内存。 1. **内存分配**: - 对于基本类型变量(如int, float等),它们的存储在栈内存中。当...

    java内存管理 ppt

    Java内存管理是Java编程中的核心概念,它涉及到程序运行时数据的存储、分配以及回收。在Java中,内存主要分为堆内存(Heap)和栈内存(Stack),还有方法区(Method Area)、程序计数器(PC Register)以及本地方法...

    java内存管理 .pptx

    Java内存管理是Java编程中至关重要的一环,它涉及到Java虚拟机(JVM)如何高效地运行Java代码。在Java中,内存管理主要包括内存区域的划分、对象的生命周期以及垃圾回收机制。 1. **内存区域划分** - **方法区...

    Java内存管理机制相关资料汇总

    资源名称:Java内存管理机制相关资料汇总资源目录:【】java内存回收机制及预防【】java内存管理机制【】java内存管理白皮书【】Java虚拟机内存管理_对象和引用_空指针【】深入理解java虚拟机jvm高级行与最佳实践...

    java内存机制及异常处理

    为了优化内存管理,Java采用了垃圾回收机制(Garbage Collection),自动回收不再使用的对象,以避免内存泄漏。 2. **Method Area(方法区)**:又称为非堆区或永久代,在这里存储的是类和接口的元数据,包括类的...

Global site tag (gtag.js) - Google Analytics