社区
Web 开发
帖子详情
一直对java的内存心存畏惧,java存在内存泄漏吗,如过存在,对于B/S架构而言,我又该如何避免内存泄漏呢
myJavaRoad
2009-03-16 12:48:51
什么是内存泄漏,一直对这个概念不是很清楚, 百度一下,也是众说纷纭,如果存在,如何避免呢,尤其在b/s结构中,
请懂行的朋友踩一下
是为谢!
...全文
266
17
打赏
收藏
一直对java的内存心存畏惧,java存在内存泄漏吗,如过存在,对于B/S架构而言,我又该如何避免内存泄漏呢
什么是内存泄漏,一直对这个概念不是很清楚, 百度一下,也是众说纷纭,如果存在,如何避免呢,尤其在b/s结构中, 请懂行的朋友踩一下 是为谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
微甜灬呼吸
2011-05-03
打赏
举报
回复
JVM自己管的
jvm挂了系统不会挂
myJavaRoad
2009-03-19
打赏
举报
回复
楼上的说的很有道理,受益
myJavaRoad
2009-03-17
打赏
举报
回复
没人关注这块?
请高人谈谈啊。
Coolfatman
2009-03-17
打赏
举报
回复
[Quote=引用 10 楼 myJavaRoad 的回复:]
找了一段关于内存泄漏的资料,代码有疑问: 引用相同(都是o),java允许吗?
帮忙分析下
-----------
下面给出了一个简单的内存泄露的例子。在这个例子中,我们循环申请Object对象,并将所申请的对象放入一个Vector中,如果我们仅仅释放引用本身,那么Vector仍然引用该对象,所以这个对象对GC来说是不可回收的。因此,如果对象加入到Vector后,还必须从Vector中删除,最简单的方法就是将Vector对象设置为null。
Vector v=new Vector(10);
for (int i=1;i <100; i++)
{
Object o=new Object();
v.add(o);
o=null; }
//此时,所有的Object对象都没有被释放,因为变量v引用这些对象。
[/Quote]
这个程序是外面给出的例子,其实完全不是那么回事,如果你的程序需要使用v里的Object,当然就不算内存泄漏了。此外这个程序结束的时候,v和内部的100个object对象一起被回收的,怎么算内存泄露呢。
myJavaRoad
2009-03-16
打赏
举报
回复
http://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/
java内存泄漏,写的很好
myJavaRoad
2009-03-16
打赏
举报
回复
http://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/
java内存泄漏,写的很好
myJavaRoad
2009-03-16
打赏
举报
回复
找了一段关于内存泄漏的资料,代码有疑问: 引用相同(都是o),java允许吗?
帮忙分析下
-----------
下面给出了一个简单的内存泄露的例子。在这个例子中,我们循环申请Object对象,并将所申请的对象放入一个Vector中,如果我们仅仅释放引用本身,那么Vector仍然引用该对象,所以这个对象对GC来说是不可回收的。因此,如果对象加入到Vector后,还必须从Vector中删除,最简单的方法就是将Vector对象设置为null。
Vector v=new Vector(10);
for (int i=1;i<100; i++)
{
Object o=new Object();
v.add(o);
o=null;
}
//此时,所有的Object对象都没有被释放,因为变量v引用这些对象。
oklinsong
2009-03-16
打赏
举报
回复
java虚拟机自己管理,垃圾回收器。
myJavaRoad
2009-03-16
打赏
举报
回复
没这么可怕,一般web项目都是运行完就释放的,完全没有问题。
需要关心的是静态对象。静态对象主要是指容器类和对象数组。全部程序写完,把所有的静态对象过一遍即可。其他的都有系统处理。
---------------
静态对象的生存期长,可以理解,
但”
静态对象主要是指容器类和对象数组。全部程序写完,把所有的静态对象过一遍即可
“,这个朋友能具体点吗?
myJavaRoad
2009-03-16
打赏
举报
回复
楼上朋友好,
原来听朋友说过这个问题,今天抽空想想,但不得其解?
Coolfatman
2009-03-16
打赏
举报
回复
[Quote=引用 2 楼 myJavaRoad 的回复:]
什么情况下会导致内存泄漏呢
web服务一旦启动,长时间运行,访问的用户又多,这个问题处理不好,是否有系统瘫痪的危险啊
[/Quote]
没这么可怕,一般web项目都是运行完就释放的,完全没有问题。
需要关心的是静态对象。静态对象主要是指容器类和对象数组。全部程序写完,把所有的静态对象过一遍即可。其他的都有系统处理。
nyzfl
2009-03-16
打赏
举报
回复
这个需要考虑吗?
Seanxiaoxiao
2009-03-16
打赏
举报
回复
自认为JAVA的程序是在JVM的内存中,就算是泄露也不会超过JVM中分配的内存
myJavaRoad
2009-03-16
打赏
举报
回复
在线等?
myJavaRoad
2009-03-16
打赏
举报
回复
什么情况下会导致内存泄漏呢
web服务一旦启动,长时间运行,访问的用户又多,这个问题处理不好,是否有系统瘫痪的危险啊
xuhaiyang
2009-03-16
打赏
举报
回复
就是用完了没有回收或不能被回收的内存
在
java
中会
存在
内存
泄漏
吗?
● 请问,在
java
中会
存在
内存
泄漏
吗?请简单描述一下。 考察点:
内存
参考回答:
Java
中的确
存在
Java
的
内存
泄漏
, 并且事态可以变得相当严重
Java
garbage collector自动释放哪些
内存
里面程序不在需要的对象, 以此
避免
大多数的其他程序上下文的
内存
泄漏
. 但是
Java
应用程序依旧会有相当的
内存
泄漏
. 查找原因会十分困难. 有两类主要的
Java
内存
泄漏
: * 不再需要...
JVM——
内存
泄漏
与
内存
溢出
内存
泄漏
与
内存
溢出 1. 面试题 什么是
内存
泄漏
和什么是
内存
溢出 (陌陌)
Java
存在
内存
泄漏
吗,
内存
泄漏
的场景有哪些,如何
避免
(百度)
Java
中会
存在
内存
泄漏
吗,简述一下?(猎聘)
内存
泄漏
是怎么造成的?(拼多多、字节跳动)
内存
泄漏
与
内存
溢出的区别 (字节跳动)
Java
存在
内存
溢出的现象吗 (字节跳动)
Java
中会
存在
内存
泄漏
吗,请简单描述。 (美团) 2.
内存
溢出
内存
溢出相对于
内存
泄漏
来说,尽管更容易被理解,但是同样的,
内存
溢出也是引发程序崩溃的罪魁祸首之一。 由于GC
一直
在发展
内存
泄漏
的监控
如果有些系统的性能不是很稳定,随着时间的变化而变化,那么就要怀疑系统是否
存在
内存
泄漏
了。特别是哪些随时间的推移越来越慢的系统,很大程度上是
Java
内存
对象有了泄漏。 [b]不是说
Java
虚拟机是自动回收
内存
吗?怎么还
存在
内存
泄漏
?[/b] 事实上,有些
内存
泄漏
是无法通过其它手段
避免
的,只能由编程开发人员在编程的时候主动
避免
。
Java
虚拟机的确可以将没有用的对象自...
JVM(四)——GC调优案例
面试题 什么是
内存
泄漏
和什么是
内存
溢出 (陌陌)
Java
存在
内存
泄漏
吗,
内存
泄漏
的场景有哪些,如何
避免
(百度)
Java
中会
存在
内存
泄漏
吗,简述一下?(猎聘)
内存
泄漏
是怎么造成的?(拼多多、字节跳动)
内存
泄漏
与
内存
溢出的区别 (字节跳动)
Java
存在
内存
溢出的现象吗 (字节跳动)
Java
中会
存在
内存
泄漏
吗,请简单描述。 (美团)
内存
溢出:
内存
溢出相对于
内存
泄漏
来说,尽管更容易被理解,但是同样的,
内存
溢出也是引发程序崩溃的罪魁祸首之一。 由于GC
一直
在发展,所有一般情况下...
[转载]
内存
泄漏
,走开 轻松搞定
Java
内存
泄漏
内存
泄漏
,走开 轻松搞定
Java
内存
泄漏
抽象 尽管
java
虚拟机和垃圾回收机制管理着大部分的
内存
事务,但是在
java
软件中还是可能
存在
内存
泄漏
的情况。的确,在大型工程中,
内存
泄漏
是一个普遍问题。
避免
内存
泄漏
的第一步,就是要了解...
Web 开发
81,076
社区成员
341,821
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章