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

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

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

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    JVM學習筆記(二)------Java代碼編譯和執行的整個過程

     Java代碼編譯是由Java源碼編譯器來完成,流程圖如下所示:

      Java字節碼的執行是由JVM執行引擎來完成,流程圖如下所示:

      Java代碼編譯和執行的整個過程包含了以下三個重要的機制:

      ● Java源碼編譯機制
      ● 類加載機制
      ● 類執行機制

      Java源碼編譯機制

      Java 源碼編譯由以下三個過程組成:

      ● 分析和輸入到符號表
      ● 注解處理
      ● 語義分析和生成class文件

      流程圖如下所示:

      最后生成的class文件由以下部分組成:

      ● 結構信息。包括class文件格式版本號及各部分的數量與大小的信息。

      ● 元數據。對應于Java源碼中聲明與常量的信息。包含類/繼承的超類/實現的接口的聲明信息、域與方法聲明信息和常量池。

      ● 方法信息。對應Java源碼中語句和表達式對應的信息。包含字節碼、異常處理器表、求值棧與局部變量區大小、求值棧的類型記錄、調試符號信息。


    類加載機制

      JVM的類加載是通過ClassLoader及其子類來完成的,類的層次關系和加載順序可以由下圖來描述:

      1)Bootstrap ClassLoader
      負責加載$JAVA_HOME中jre/lib/rt.jar里所有的class,由C++實現,不是ClassLoader子類

      2)Extension ClassLoader
      負責加載java平臺中擴展功能的一些jar包,包括$JAVA_HOME中jre/lib/*.jar或-Djava.ext.dirs指定目錄下的jar包

      3)App ClassLoader
      負責記載classpath中指定的jar包及目錄中class

      4)Custom ClassLoader
      屬于應用程序根據自身需要自定義的ClassLoader,如tomcat、jboss都會根據j2ee規范自行實現ClassLoader

      加載過程中會先檢查類是否被已加載,檢查順序是自底向上,從Custom ClassLoader到BootStrap ClassLoader逐層檢查,只要某個classloader已加載就視為已加載此類,保證此類只所有ClassLoader加載一次。而加載的順序是自頂向下,也就是由上層來逐層嘗試加載此類。

      類執行機制

      JVM是基于棧的體系結構來執行class字節碼的。線程創建后,都會產生程序計數器(PC)和棧(Stack),程序計數器存放下一條要執行的指令在方法內的偏移量,棧中存放一個個棧幀,每個棧幀對應著每個方法的每次調用,而棧幀又是有局部變量區和操作數棧兩部分組成,局部變量區用于存放方法中的局部變量和參數,操作數棧中用于存放方法執行過程中產生的中間結果。棧的結構如下圖所示:

    posted on 2011-11-14 10:11 順其自然EVO 閱讀(248) 評論(0)  編輯  收藏


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


    網站導航:
     
    <2011年11月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲一区二区三区成人网站| 久久亚洲精品成人| 亚洲а∨天堂久久精品9966| 99精品视频在线视频免费观看| 亚洲人成亚洲人成在线观看| free哆拍拍免费永久视频| 毛茸茸bbw亚洲人| a在线观看免费视频| 久久综合图区亚洲综合图区| 国产情侣久久久久aⅴ免费| 亚洲av午夜成人片精品网站 | 永久免费av无码网站韩国毛片| 亚洲精品福利网泷泽萝拉| 999久久久免费精品国产 | 亚洲福利视频一区二区三区| 亚洲一区二区三区免费视频| 久久精品国产亚洲AV忘忧草18 | a级黄色毛片免费播放视频| 亚洲精品中文字幕无码蜜桃| 亚洲免费在线播放| 亚洲色图激情文学| 免费吃奶摸下激烈视频| 毛片在线全部免费观看| 亚洲人配人种jizz| 免费一级特黄特色大片在线观看| av网站免费线看| 亚洲国产片在线观看| 日本免费人成黄页网观看视频| 乱人伦中文视频在线观看免费| 亚洲国产精品无码AAA片| 一个人看www在线高清免费看| 亚洲AV无码成人精品区狼人影院| 激情97综合亚洲色婷婷五| 啦啦啦完整版免费视频在线观看 | 噜噜噜亚洲色成人网站∨| 搡女人免费视频大全| 久久久久国色AV免费观看| 亚洲午夜精品一区二区公牛电影院 | 一级毛片无遮挡免费全部| 99久久精品国产亚洲| 国产极品美女高潮抽搐免费网站|