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

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

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

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

  •  翡希信息咨询 Java内存遗漏是什么原因?

    Java内存泄漏的原因主要是在系统中反复创建对象,并且存在对这些对象的引用,但这些对象实际上并未被使用。具体来说:对象持续被引用但不再使用:在Java中,如果一个对象被创建并且被某个引用变量所持有,即使该对象在后续的程序逻辑中不再被使用,只要该引用变量未被置为null或者未被其他对象所替代,垃圾...

  •  翡希信息咨询 内存泄漏:Java开发中的隐患

    内存泄漏是Java开发中的一个潜在隐患。内存泄漏指的是程序申请的内存无法被适时释放,即使在内存不再需要时。以下是关于Java开发中内存泄漏的详细解答:一、内存泄漏的原因 对象引用未被正确清除:当对象的引用依然存在时,垃圾回收器就无法识别并回收其占用的内存。长生命周期对象持有短生命周期对象的引用:...

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

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

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

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

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

Java相关话题

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