`
javasogo
  • 浏览: 1817562 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java虽然有垃圾回收机制,还是有内存泄漏现象的

阅读更多

其实java有内存泄漏现象
垃圾回收机制只能回收没有引用的对象,也就是说只能回收没有“指针”的对象,对于非引用类对象,垃圾回收机制就不能起作用
比如说,如果打开过多的数据库连接,那么这些不能被垃圾回收机制所处理。由于一般情况下很少有人打开过多的数据库连接,所以很少有人注意到这一点。
还有一种可能就是死循环也会出现内存泄漏,但是不是所有的死循环都会出现内存泄漏现象。对ArrayList操作的时候才有可能出现,
比如说
ArrayList result=new ArrayList();
for(int i;i<result.size();i++){
result.add("Test");
}
这种可能会出现OutOfMemoryError,就是内存溢出

分享到:
评论

相关推荐

    Java中内存泄露及垃圾回收机制.pdf

    ### Java中内存泄露及垃圾回收机制 #### 一、内存泄露概述 在计算机科学领域,内存泄露是指在程序运行过程中,不再使用的内存未被及时释放,导致这部分内存无法被重复利用,进而影响程序性能甚至导致程序崩溃的...

    jvm内存模型以及垃圾回收机制.pptx

    Java虚拟机(JVM)内存模型...理解JVM内存模型和垃圾回收机制对于优化Java应用性能、避免内存泄漏和有效利用资源至关重要。开发者应根据实际需求选择合适的垃圾回收器,并关注内存分配策略,以实现高效稳定的程序运行。

    java垃圾回收机制可用.pdf

    Java垃圾回收机制是Java编程中的一个重要概念,它自动管理程序中的内存分配和释放,从而避免了程序员手动管理内存可能导致的内存泄漏和溢出等问题。在Java虚拟机(JVM)中,内存分为多个区域,包括栈内存、堆内存、...

    java垃圾回收机制是怎样的.docx

    ### Java垃圾回收机制详解 #### 引言 随着软件工程的发展,内存管理一直是程序设计中的一个重要环节。在Java出现之前,很多编程语言如C或C++都需要开发者手动管理内存,这意味着程序员不仅要负责申请内存,还需要...

    java内存泄露、溢出检查方法和工具.pdf

    Java内存泄露的原因有很多,包括程序员的编码错误、垃圾回收机制的不当使用、内存泄漏的隐藏bug等。只有通过深入了解Java虚拟机、垃圾回收机制和内存检查分析工具,才能更好地解决内存泄露问题。 在解决内存泄露...

    java C#垃圾回收算法分析

    C#中的垃圾回收机制也遵循类似的原则,但有一些差异: - **.NET中的垃圾回收**:.NET Framework使用了自己的垃圾回收器,称为CLR(Common Language Runtime)。它的垃圾回收也分为标记、清除和压缩三个阶段,但.NET...

    Java 内存调整技巧

    Java的内存管理主要依赖于垃圾回收机制,它自动处理对象的创建和销毁,但在某些情况下,不适当的内存配置和编程实践可能导致性能瓶颈或内存泄漏,进而影响系统的稳定性和效率。 首先,理解垃圾回收的基本原理至关...

    JAVA 为什么不会内存泄漏

    1. **自动内存管理**:Java中的对象是通过关键字`new`在堆上创建的,这些对象的生命周期由Java虚拟机(JVM)的垃圾回收机制控制。一旦对象不再被任何变量引用,垃圾回收器就会自动回收这些对象占用的内存。 2. **垃圾...

    坏了!面试官问我垃圾回收机制(csdn)————程序.pdf

    Java的垃圾回收机制是JVM(Java虚拟机)中一个重要的功能,它负责自动管理内存,避免程序员手动释放已无用的对象,从而简化了编程工作并减少了潜在的内存泄漏问题。在Java中,堆内存主要分为新生代和老年代,新生代...

    提高Java开发质量之内存泄露

    在Java中,由于垃圾回收机制的存在,内存泄露的问题不如C/C++等语言中严重,但在某些情况下仍然会出现。 **危害:** 1. **性能下降**:随着内存泄漏的积累,可用内存减少,导致应用程序响应变慢。 2. **系统崩溃**...

    内存泄露Demo leaky app

    2. 垃圾回收语言:像Java和Python这样的语言有内置的垃圾回收机制,可以自动回收不再使用的内存。 3. 手动释放:在必须手动管理内存的情况下,确保在不再需要某块内存时及时释放。 4. 注意循环引用:在使用引用计数...

    基于java中stack与heap的区别,java中的垃圾回收机制的相关介绍

    由于堆内存的分配和回收不是由程序员直接控制的,这可能导致内存泄漏或碎片化问题,但Java的垃圾回收机制正是为了解决这些问题而设计的。 垃圾回收机制是Java的一大特色,它自动管理堆内存,负责识别并释放不再使用...

    Java的垃圾收集器(GC)

    垃圾收集器主要关注于回收不再被引用的对象所占据的内存空间,防止“内存泄漏”现象的发生,确保系统的稳定运行。其工作原理基于以下几点: 1. **无用对象识别**:垃圾收集器判定一个对象是否可被回收的关键标准是...

    java 内存泄露

    随着Java平台的不断发展和完善,JVM的内存管理和垃圾回收机制也在不断进步。未来的Java版本可能会内置更多高级的内存诊断和预防功能,减少开发人员在处理内存泄露问题上的困扰。同时,社区和框架提供商也将继续努力...

    如何排查Java内存泄漏?看完我给跪了!

    Java的自动垃圾回收机制虽然在大多数情况下工作得很好,但并不能完全防止内存泄漏的发生。内存泄漏通常发生在程序中,当不再需要的对象仍然被引用,导致它们无法被垃圾收集器清理。这种现象可能导致资源浪费,系统...

    Java垃圾回收(二)老年代垃圾收集器(csdn)————程序.pdf

    Java垃圾回收机制是Java平台中一个非常重要的特性,它的主要任务是自动管理程序运行过程中的内存,自动识别并释放不再使用的对象,以避免内存泄漏。本篇将详细讲解老年代垃圾收集器,主要包括SerialOld、ParallelOld...

    Java面试题-内存+GC+类加载器+JVM调优.pdf

    垃圾回收机制是 Java 中的一种自动内存管理机制,用于回收无引用的对象,以释放内存空间。Java 中有多种垃圾回收算法,包括标记-清除算法、标记-压缩算法和复制算法等。 在 Java 中,垃圾回收机制可以分为两个阶段...

Global site tag (gtag.js) - Google Analytics