在java中,垃圾回收不需要我們自己執行,而是由系統自動執行。
這一點給了我們發開發人員省了不少心,但是finalize()方法一直是個困惑。
虛擬機在執行垃圾回收之前都會執行對象的finalize(),那么finalize()到底有什么用呢?
其實finalize()主要是給其他調用而創建的空間在對象回收時頁同步回收而設置的。
比如,你調用了C語言,使用了mallow()開辟了一段內存空間。在你釋放java對象的時候,虛擬機只能釋放java對象占用的空間,而不能釋放C開辟的內存空間,所你你在釋放此對象之前要先回收你在C語言中開辟的空間。
這各時候才用到finalize()方法。
平時的時候不要隨便使用finalize()方法。
以上理解是《java編程思想中的理論》,詳細深入的理解請參考此書 。
|----------------------------------------------------------------------------------------|
版權聲明 版權所有 @zhyiwww
引用請注明來源 http://www.tkk7.com/zhyiwww
|----------------------------------------------------------------------------------------|
posted on 2010-11-26 10:12
zhyiwww 閱讀(1417)
評論(0) 編輯 收藏 所屬分類:
java basic 、
j2ee