黑马程序员技术交流社区

标题: 内存泄漏 [打印本页]

作者: 段波    时间: 2011-12-3 19:34
标题: 内存泄漏
本帖最后由 段波 于 2011-12-4 19:06 编辑

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

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

谢了!也记得张老师讲过,就是记不得有哪些了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2