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

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

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

以上只是个人观点,如果有错,希望指正2012-06-12
mengvlog 阅读 40 次 更新于 2025-10-29 05:06:20 我来答关注问题0
檬味博客在线解答立即免费咨询

Java相关话题

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