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

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

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

    tbwshc

    Java內存管理優化筆記

    1. 垃圾回收
      JVM運行環境中垃圾對象的定義:
      一個對象創建后被放置在JVM的堆內存(heap)中,當永遠不再引用這個對象時,它將被JVM在堆內存(heap)中回收。被創建的對象不能再生,同時也沒法通過程序語句釋放它們。
      不可到達的對象被JVM視為垃圾對象,JVM將給這些對象打上標記,然后清掃回收它們,并將散碎的內存單元收集整合。
      JVM管理的兩種類型的內存:
      堆內存(heap),主要存儲程序在運行時創建或實例化的對象與變量。
      棧內存(stack),主要存儲程序代碼中聲明為靜態(static)(或非靜態)的方法。
      堆內存(heap)通常情況下被分為兩個區域:新對象(new object)區域與老對象(old object)區域。
      新對象區域:
      又可細分為Eden區域、From區域與To區域。
      Eden區域保存新創建的對象。當該區域中的對象滿了后,JVM系統將做可達性測試,主要任務是檢測有哪些對象由根集合出發是不可到達的,這些對象就可被JVM回收,且將所有的活動對象從Eden區域拷到To區域,此時有一些對象將發生狀態交換,有的對象就從To區域被轉移到From區域,此時From區域就有了對象。
      該過程執行期間,JVM的性能非常低下,會嚴重影響到正在運行的應用的性能。
      老對象區域:
      在老對象區域中的對象仍有一個較長的生命周期。經過一段時間后,被轉入tb老對象區域的對象就變成了垃圾對象,此時它們被打上相應的標記,JVM將自動回收它們。
      建議不要頻繁強制系統做垃圾回收,因為JVM會利用有限的系統資源,優先完成垃圾回收工作,致使應用無法快速響應來自用戶端的請求,這樣會影響系統的整體性能。
      2. JVM中對象的生命周期
      對象的整個生命周期大致分為7個階段:創建(creation)、應用(using)、不可視(invisible)、不可到達(unreachable)、可收集(collected)、終結(finalized)、釋放(free)。
      1) 創建階段
      系統通過下面步驟,完成對象的創建:
      a) 為對象分配存儲空間
      b) 開始構造對象
      c) 遞歸調用其超類的構造方法
      d) 進行對象實例初始化與變量初始化
      e) 執行構造方法體
      在創建對象時的幾個關鍵應用規則:
      避免在循環體中創建對象,即使該對象占用內存空間不大
      盡量及時使對象符合垃圾回收標準
      不要采用過深的繼承層次
      訪問本地變量優于訪問類中的變量

    posted on 2013-06-28 16:59 chen11-1 閱讀(242) 評論(0)  編輯  收藏 所屬分類: 隨筆

    主站蜘蛛池模板: 亚洲毛片无码专区亚洲乱| 亚洲欧美日韩一区二区三区在线| 久久久亚洲欧洲日产国码农村| 中文字幕亚洲色图| 国产精品自拍亚洲| 69视频在线观看免费| 亚洲AV中文无码乱人伦| 亚洲第一永久在线观看| 免费精品无码AV片在线观看| 又黄又爽一线毛片免费观看 | 亚洲二区在线视频| 中文字幕av无码不卡免费| 久久久久免费看黄A片APP| 狠狠综合久久综合88亚洲| 亚洲男人的天堂网站| 午夜一级免费视频| 亚洲电影在线免费观看| 免费人成网站在线观看10分钟| 国产亚洲一区二区手机在线观看| 国产亚洲一卡2卡3卡4卡新区| 最近免费中文字幕大全免费| 亚洲啪啪免费视频| 国产成人无码免费视频97| 亚洲熟妇无码av另类vr影视 | 青青青国产在线观看免费网站 | 性xxxxx大片免费视频| 亚洲精品WWW久久久久久| 亚洲一卡2卡三卡4卡无卡下载| 男女交性永久免费视频播放| 一级成人a做片免费| 亚洲第一页日韩专区| a毛片免费全部在线播放**| 亚洲国产一级在线观看| 久久成人免费播放网站| 亚洲大成色www永久网站| 中文字幕一区二区三区免费视频| 亚洲综合激情九月婷婷| 国产极品美女高潮抽搐免费网站| 精品国产污污免费网站入口在线 | 亚洲电影一区二区三区| 妞干网免费观看视频|