<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    工作小驛

    Ninja!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      103 Posts :: 0 Stories :: 36 Comments :: 0 Trackbacks

     

       用過C++編程的人知道,編的時候總是要跟蹤所創建的對象,并且需要顯示地刪除不用的對象。這種方式太麻煩了,容易出錯。寫了那么多代碼,能記住嗎,要是把有用的給刪了怎么辦,要是有沒用的忘刪了怎么辦?這些問題是很嚴重的。在java語言中采用的垃圾收集器這種方式管理內存,就很方便也很安全了。垃圾收集器,可以自動確定哪個對象不再被利用,它可以自動將它刪除。這也是java語言的一大優勢。

        我們要想顯示的刪除一個對象的引用也很簡單,將該引用的變量賦值為null不就行了嗎?對于垃圾收集器來說,當程序員創建對象時,垃圾收集器就開始監控這個對象的地址、大小以及使用情況。通常,垃圾收集器采用有向圖的方式記錄和管理堆(heap)中的所有對 象。通過這種方式確定哪些對象是可用的,哪些對象是不可用的。當垃圾收集器確定一些對象為不可用時,垃圾收集器就回收這些內存空間。

        可是垃圾收集器卻以較低的優先級在系統空閑周期中執行,通俗一點說就是它級別低,別人不運行時候才輪到它,因此垃圾收集器的速度比較慢。有些時候我們會使用System.gc()。手動回收。這樣來提高性能。

        對于垃圾收集器來說還有一個值得一提的是finalize()這個方法,每一個對象都有一個finalize( )方法,這個方法是從Object類繼承來的。它用來回收內存以外的系統資源,就像是文件處理器和網絡連接器。該方法的調用順序和用來調用該方法的對象的創建順序是無關的。換句話說,書寫程序時該方法的順序和方法的實際調用順序是不相干的。這只是finalize( )方法的特點。還有,每個對象只能調用finalize( )方法一次。如果在finalize( )方法執行時產生異常(exception),則該對象仍可以被垃圾收集器收集。那是一定了,不能說用到finalize()了。垃圾收集器就什么也不做了啊。finalize()的工作量是很大的哦

        總結:

        java用了垃圾收集器的內存管理方式,并不是說它完全的好。有的時候會影響它的性能,我們還是要手動來收集的。但是要是像C++那樣完全手動來收集的話,那也實在是太麻煩了而且不是很安全。

      根據垃圾收集器的工作原理,我們可以通過一些技巧和方式,讓垃圾收集器運行更加有效率。

      1.最基本的建議就是盡早釋放無用對象的引用。
      大多數程序員在使用臨時變量的時候,都是讓引用變量在退出活動域(scope)后,自動設置為null。
      2.盡量少用finalize函數。finalize函數是java提供給程序員一個釋放對象或資源的機會。但是,它會加大垃圾收集器的工作量,因此盡量少采用finalize方式回收資源。
      3.當程序有一定的等待時間,程序員可以手動執行System.gc(),通知垃圾收集器運行,但是java語言規范并不保證垃圾收集器一定會執行。

    posted on 2007-08-06 12:48 王君 閱讀(181) 評論(0)  編輯  收藏 所屬分類: J2SE
    主站蜘蛛池模板: 免费国产高清毛不卡片基地| 亚洲人成网站999久久久综合| 亚洲国产精品无码久久久久久曰 | 亚洲国产精品激情在线观看| 亚洲日韩亚洲另类激情文学| 无码免费午夜福利片在线| 国产精品成人无码免费| 久久亚洲精品无码网站| 亚洲?V无码成人精品区日韩| 亚洲日韩乱码中文无码蜜桃| 久久国产免费福利永久| 最新国产成人亚洲精品影院| 国产VA免费精品高清在线| 成人黄色免费网址| 国产成人精品日本亚洲11| 成人一区二区免费视频| 成年美女黄网站色大免费视频| 国产亚洲AV手机在线观看 | 亚洲AV色香蕉一区二区| 69精品免费视频| 亚洲色大成网站www永久男同| 一区二区三区福利视频免费观看| 亚洲av再在线观看 | 亚洲免费一级视频| 国产精品视频永久免费播放| 亚洲av乱码一区二区三区按摩| 久久WWW免费人成一看片| 亚洲综合日韩久久成人AV| 日本免费人成视频在线观看| 亚洲人成网国产最新在线| 日韩精品无码专区免费播放| 一本色道久久88—综合亚洲精品 | 国产永久免费高清在线| 亚洲成a人片在线观看中文app| 中文字幕乱码免费看电影| 亚洲欧洲国产视频| 午夜亚洲福利在线老司机| 国产激情免费视频在线观看| 亚洲日韩一区二区三区| 久久亚洲国产精品五月天| 午夜高清免费在线观看|