请详细的讲解一下java中的泄露和溢出

泄露,是不经意的,是由于容器有漏洞,裂缝之类的,导致水溜出去 溢出,是因为容器太小了,你把10升的水全部倒入9升的容器,容器虽然自身没有问题,但是因为你倒的太多,满出来了 说回java,泄露是代码间不经意的将一些本应该被回收而由于错写一些代码或漏写一些操作导致内存没有回收掉 溢出是你本来...
请详细的讲解一下java中的泄露和溢出
java中的泄露和溢出,跟这两个次的意思是一样的
比作一个盛水的容器
泄露,是不经意的,是由于容器有漏洞,裂缝之类的,导致水溜出去
溢出,是因为容器太小了,你把10升的水全部倒入9升的容器,容器虽然自身没有问题,但是因为你倒的太多,满出来了

说回java,
泄露是代码间不经意的将一些本应该被回收而由于错写一些代码或漏写一些操作导致内存没有回收掉
溢出是你本来就算要加1G的对象到内存中,但是由于内存只有900M可以用。
但是这两个问题对于java来说,都是人为的错误,需要改善。
泄露的改善就是找出溢出的地方,找出错误代码,修复。
溢出的解决就是需要找解决方案,尽可能的减少一次性的内存载入。比如对一个10G的数组对象排序,这时候可以考虑外排序(不了解可baidu)。2012-06-21
内存泄漏:指的是引用对象在失去引用后(即没有用的对象),但是因为某些原因没有被垃圾回收管理器所回收,还占据内存
内存溢出:本来当运行java程序的时候jvm会拿计算机内存的一部分出来当java运行内存
当程序太大,内存超过这部分内存后,就造成内存溢出

以上只是个人观点,如果有错,希望指正2012-06-12
mengvlog 阅读 26 次 更新于 2025-09-09 03:22:59 我来答关注问题0
  • 说回java,泄露是代码间不经意的将一些本应该被回收而由于错写一些代码或漏写一些操作导致内存没有回收掉 溢出是你本来就算要加1G的对象到内存中,但是由于内存只有900M可以用。但是这两个问题对于java来说,都是人为的错误,需要改善。泄露的改善就是找出溢出的地方,找出错误代码,修复。溢出的解决就...

  •  泽皖乐秋梵R7 java程序会发生内存泄露的问题吗?请简单说说你的观点

    在java程序中容易发生内存泄露的场景:�0�21.集合类,集合类仅仅有添加元素的方法,而没有相应的删除机制,导致内存被占用。这一点其实也不明确,这个集合类如果仅仅是局部变量,根本不会造成内存泄露,在方法栈退出后就没有引用了会被jvm正常回收。而如果这个集合类是全局性的变量(...

  •  翡希信息咨询 JAVA内存泄漏和内存溢出的区别

    内存泄漏(Memory Leak)和内存溢出(Out of Memory)是Java编程中常见的两种内存管理问题,它们虽然都涉及到内存的使用不当,但产生的原因和后果却截然不同。一、内存溢出(Out of Memory)内存溢出是指程序在申请内存时,没有足够的内存空间供其使用,导致系统无法满足程序的内存需求,从而抛出OutOfMemory...

  •  兄弟连教育 java中内存泄露有几种?如何分析泄露原因

    在java 编程中,我们都需要和监听器打交道,通常一个应用当中会用到很多监听器,我们会调用一个控件的诸如addXXXListener()等方法来增加监听器,但往往在释放对象的时候却没有记住去删除这些监听器,从而增加了内存泄漏的机会。4、各种连接 比如数据库连接(dataSourse.getConnection()),网络连接(socket)...

  •  bluedn java内存泄露,是什么意思

    第一种情况,在Java中已经由于垃圾回收机制的引入,得到了很好的解决。所以,Java中的内存泄漏,主要指的是第二种情况。可能光说概念太抽象了,大家可以看一下这样的例子:1 Vector v=new Vector(10);2 for (int i=1;i

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部