A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 段波 黑马帝   /  2011-12-3 19:34  /  2332 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 段波 于 2011-12-4 19:06 编辑

java编程中什么地方容易出现内存泄漏,应该怎么避免?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

3 个回复

倒序浏览
许邦存 来自手机 黑马帝 2011-12-3 20:53:25
沙发
这个怎么感觉这个好难,不懂,还没学到呢。
回复 使用道具 举报
内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。
容易发送内存泄漏的地方很多,虽然java有GC 但是程序员不主意,就很容易内存泄漏 导致程序无法运行。
在管理对象上我们尽量要释放无用的资源(一个对象的引用赋值为null 这个对象就会被GC收集)。
在实际的开发内存泄漏:
1.创建对象过多,没有释放资源。
2.hash算法的集合中,如果放进去的对象在放进去之后改变了hashCode而我们要去移除该对象。是移除不了,久而久之就内存泄露。
3.数据库连接不关闭,连接过多占用资源。
4.线程不安全的集合在遍历时候移除元素,导致的死循环内存无法释放。
上面随便写了点,很多都是张老师java视频中介绍了。
在编写程序的时候我们应该分析内存,哪些应该释放,管理内存才能让程序内存不泄漏。
内存分析也有些工具,可以去下载试用。

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
刘海涛 发表于 2011-12-3 21:42
内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该 ...

谢了!也记得张老师讲过,就是记不得有哪些了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马