论坛首页 Java企业应用论坛

经典的JAVA内存泄露代码征集

浏览 28830 次
精华帖 (3) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (3)
作者 正文
   发表时间:2009-01-05  
kaipingk@gmail.com 写道
zxzheaven 写道
请问第二个有问题是不是在于在ensureCapacity()方法里面,会创建大容量的数组,这样会导致有问题?

  public Object pop() {
       if (size == 0)
               throw new EmptyStackException();
         Object tmp = elements[--size];
         elements[size+1] = null;
         return tmp;
   }


同意楼上的看法,effective java对此类泄露有过说明。
0 请登录后投票
   发表时间:2009-01-05  
如果第一种情况在你的代码中出现,你还是回家种地吧!
0 请登录后投票
   发表时间:2009-01-05  
xyh 写道
造成内存泄露的史上最根本原因是比尔。盖茨不应该发明电脑.

不管是大型机还是pc还是操作系统,没一样是gates发明的吧
0 请登录后投票
   发表时间:2009-01-05  
windywany 写道
如果第一种情况在你的代码中出现,你还是回家种地吧!

确实可以这么说,对于数据库连接如此消耗系统资源的object,使用完之后必须释放
0 请登录后投票
   发表时间:2009-01-05  
我们项目里有过这样一个情况

最早期项目建立的时候写过一个xxxutil测试类,可以静态获得容器里的对象,里面有一些static对象,大家都没所谓。

后来项目中期的时候,由于人多了,很多第一次接触spring不习惯用IOC,于是很多地方都带上了  xxxutil.getInstance().getxxxMap()这样的代码。

后来跑项目,2天服务器就当。。内存乱飙,最后查到是这个static对象无数。。。

0 请登录后投票
   发表时间:2009-01-05  
为什么是罪恶的non static  ThreadLocal object ?
请哪位解析下。
0 请登录后投票
   发表时间:2009-01-06  
xyh 写道
造成内存泄露的史上最根本原因是比尔。盖茨不应该发明电脑.


发明电脑的是 冯.诺依曼 好吧 记住了
0 请登录后投票
   发表时间:2009-01-06  
世界上第一台电脑

在麻省理工大学 启动运行

世界上,第一个病毒程序的定义 是在麻省理工大学

一个学生恶做剧本搞写出来的 破坏之大。
0 请登录后投票
   发表时间:2009-01-06  
saintlu 写道
为什么是罪恶的non static  ThreadLocal object ?
请哪位解析下。


同问,学习之。。
0 请登录后投票
   发表时间:2009-01-07  
blurm 写道
saintlu 写道
为什么是罪恶的non static  ThreadLocal object ?
请哪位解析下。


同问,学习之。。

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics