社区
Java SE
帖子详情
JAVA中有没有内存泄漏?????
treestar001
2005-05-25 10:31:03
java虚拟机可以控制java程序中的内存回收,但是有没有异常情况会导致
java程序中出现内存泄漏而虚拟机却不能加以控制
请举例说明
谢谢
...全文
113
3
打赏
收藏
JAVA中有没有内存泄漏?????
java虚拟机可以控制java程序中的内存回收,但是有没有异常情况会导致 java程序中出现内存泄漏而虚拟机却不能加以控制 请举例说明 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
treestar001
2005-05-26
打赏
举报
回复
谢谢
chongkai
2005-05-25
打赏
举报
回复
有的,如果你自己做了某种内存管理,比如在一个数组中存储object,你的程序可能会认为某个节点的object没用了,但虚拟机不这样认为,只要外层容器还被引用,它就不会回收容器中的元素所引用的对象。所以Java的内存泄漏大多发生在利用Collection或数组的场合。例如,用一个Object数组实现一个堆栈,pop方法可能是这样的
public Object pop(){
return array[pointer --];//pointer是栈顶指针
}
这时就会发生内存泄漏,pop之后,原来的栈顶位置还指向某个Object,而虚拟机是不会回收这个object的。
pop方法应该改成这样
public Object pop(){
Object result = array[pointer];
array[pointer --] = null;//赋值null,栈顶对象会被回收
return result;
}
woanon
2005-05-25
打赏
举报
回复
虽然会自动清理。有些地方自己写代码清理一下
关于
Java
内存泄漏
的讨论
什么是
内存泄漏
?造成
内存泄漏
的原因?如何解决
内存泄漏
?以及如何避免
内存泄漏
等。。。
最全面
Java
面试题,从core
java
到
java
Web共180多题(含答案)
【基础】31、
java
中
会存在
内存泄漏
吗,请简单描述。【基础】36、GC 是什么? 为什么要有GC? 【基础】118、
Java
中
访问数据库的步骤?Statement 和PreparedStatement 之间的区别?120、JDBC,Hibernate 分页怎样实现...
学好性能测试需要搞懂的问题
如何定位
JAVA
类的应用的内存泄露?如何定位C语言编写的应用的内存泄露? 4.如果用纯
JAVA
的应用调用J2EE应用服务器的容器资源会出现什么结果?需要如何维护容器资源?(说明原理即可) 5.如何定位
JAVA
的方法调用消
java
中
是否存在
内存泄漏
?什么情况下才是
内存泄漏
?
在
Java
中
,
内存泄漏
就是存在一些被分配的对象,这些对象有下面两个特点,首先,这些对象是可达的,即在有向图
中
,存在通路可以与其相连;其次,这些对象是无用的,即程序以后不会再使用这些对象。如果对象满足这两个...
JAVA
中
是否存在
内存泄漏
?
JAVA
中
是否存在泄露?什么情况下才是
内存泄漏
?
内存泄漏
是指不再被使用的对象或者变量一直被占据在内存
中
。但由于
java
的JVM引入了垃圾回收机制,垃圾回收器会自动回收不再使用的对象,相信大家了解JVM回收机制的都...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章