linugb118--java space

          Java

          Java中finalize

          Java中finalize()
          java這個finalize內置方法,估計很多人不會去用途,如果理解這個方法的用法和含義就能做一些可能我們一起認為不能做的事情。
          在JAVA中有一種垃圾收集器的機制,當它運行時(通常在系統內存低到一定限度時自動運行),會回收不再使用的對象所占用的內存,所以,在JAVA程序中,我們通常只考慮創建對象,而從不關心對象的清除。Finalize()是JAVA為類提供的一種特殊方法。垃圾收集器的工作過程大致是這樣的:一旦垃圾收集器準備好釋放無用對象占用的存儲空間,它首先調用那些對象的finalize()方法,然后才真正回收對象的內存。通過使用finalize(),就可以在垃圾收集器運行期間進行一些特殊的工作。

          你們也就是說,當gc事件啟動時候,他是調用對象的finalize(),來實現真正的回收,那么首先這些對象是沒有用的,最簡單的使用,我可以在finalize()中添加
          system.out.print 來跟蹤系統的回收了那些對象,可以深層次的了解系統對象的使用情況,比如那些對象回收最頻繁等等。

          另外我在網上也看到有人這么用finalize(). 主要是統計在線人。這個網上也有很多,本人自己也做過,但是在logout的時候,有三種情況
          1.點擊程序的logout,這個我們可以監聽到。2.去別的網站 3.關閉瀏覽器。(當然現在第二,第三有些網站也能通過script捕獲到,這里我們不談)
          我們假定傳統的,session在服務端還是存在的,一般是經過服務器端timeout,自動將這個session的對象失效,那么我們在這些對象調用finalize()做一些
          統計就能知道那些人已經離線。
          具體這個例子
          http://www.qqread.com/java/w712250600.html

          這只是一個例子

          我想說的是,我們如果理解了finalize的含義和用途,就能在很多地方用好它,未嘗不是一種新方式。

          posted on 2010-07-16 17:18 linugb118 閱讀(1833) 評論(1)  編輯  收藏

          Feedback

          # re: Java中finalize 2010-07-18 19:52 Agrael

          finalize可能造成對象再生,用ref好得多。  回復  更多評論   



          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          My Links

          Blog Stats

          常用鏈接

          留言簿(1)

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 和平区| 安宁市| 山阴县| 大余县| 鄂托克旗| 施秉县| 咸宁市| 汝南县| 灌云县| 田东县| 阿拉尔市| 金湖县| 高安市| 射阳县| 八宿县| 加查县| 都江堰市| 兰坪| 迭部县| 汝南县| 鄂尔多斯市| 高清| 靖远县| 古浪县| 延津县| 孟津县| 磐安县| 扶风县| 长泰县| 芜湖县| 手游| 宁强县| 乌兰浩特市| 定日县| 巨鹿县| 法库县| 栖霞市| 高青县| 衢州市| 宜春市| 青州市|