摘要:
声明:本文转载自http://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/版权和最终解释权给原作者所有,谢谢。问题的提出:Java的一个重要优点就是通过垃圾回收器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄露问题,或者认为即使存在内存泄露也不是程序的责任,而是GC或JVM的问题。其实这种想法是不正确的,因为Java也存在内存泄露,但是它的表现与C++不同。随着越来越多的服务器程序采用Java语言,例如JSP,Servlet,EJB等,服务 阅读全文
posted @ 2013-01-19 22:43
大大森林
阅读(153)
评论(0)
推荐(0)
摘要:
程序员都了解初始化的重要性,但常常会忘记同样也重要的清理工作。在java中有垃圾回收器负责回收无用对象占据的内存资源,但是也有特殊的情况:假定你的对象(并非使用new)获得了一个“特殊”的内存区域,由于垃圾回收器只知道释放那些经由new分配的内存,所以它不知道该什么释放该对象的这块“特殊”内存。为了应对这种情况,java允许在类中定义一个名为finallize()的方法。它的工作原理“假定”是这样的:一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finallize()方法,并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。这里有一个潜在的编程陷阱,因为有些程序员(特别是C+ 阅读全文
posted @ 2013-01-19 21:12
大大森林
阅读(181)
评论(0)
推荐(0)
浙公网安备 33010602011771号