平淡的生活,我依旧能梳理出生活的乐章!

Java语言中的内存泄漏问题

上一篇 / 下一篇  2009-05-18 16:13:07 / 个人分类:技术文档

  用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。c++,java通过new创建对象,并分配内存,但回收对象、释放内存的方式却不一致。

在C++中所有对象都应该被销毁,如果在C++中创建了一个局部对象,如果是用new创建的,那么当程序员调用C++中的Delete操作符时,就会调用相应的析构函数,但如果程序员忘记调用Delete,那么永远不会调用析构函数,这样就会出现析构函数。

   而在Java中,java回收器就会帮助你释放存储空间,但哪些虽然不再被使用,但它们仍然被引用对象GG就不能回收,首先,这些对象是可达的,即在有向图中,存在通路可以与其相连;其次,这些对象是无用的,即程序以后不会再使用这些对象。如果对象满足这两个条件,这些对象就可以判定为Java中的内存泄漏,这些对象不会被GC所回收,然而它却占用内存。


TAG:

 

评分:0

我来说两句

Open Toolbar