天行健,君子以自強不息

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

          一、Java體系結構
          Java體系結構包括四個獨立但相關的技術:

          • Java程序設計語言
          • Java class文件格式
          • Java應用編程接口(API)
          • Java虛擬機

          二、Java虛擬機

          Java虛擬機是Java的面向網絡的核心,它支持Java面向網絡體系結構三大支柱的所有方面:平臺無關性,安全性和網絡移動性。Java虛擬機的主要任務是裝載class文件并且執行其中的字節碼。classloader負責裝載class文件,執行引擎負責執行字節碼。
              執行引擎
          由于Java虛擬機規范只定義了每個虛擬機都必須實現的特性,沒有規定具體的實現方法,因此不同的Java虛擬機,執行引擎可能實現的非常不同,一般來說有如下幾種實現方法:

          1. 一次性解釋字節碼。
          2. 即時編譯器(just-in-time compiler),這種情況下,第一次被執行的字節碼會被編譯成本地機器代碼,編譯出的本地機器代碼會被緩存,當方法以后被調用的時候可以重用。
          3. 自適應優化器,這種情況下,虛擬機開始的時候解釋字節碼,但是會監視運行中程序的活動,并且記錄下使用頻繁的代碼段,程序運行的時候,虛擬機只會把那些活動最頻繁的代碼編譯成本地版本,其他仍舊保留字節碼--由虛擬機繼續解釋它們。一個自適應的優化器可以使得Java虛擬機在80%-90%的時間里執行被優化過的本地代碼。
          4. 由硬件芯片構成,由本地方法執行Java字節碼,實際上這種實現是把執行引擎內嵌在芯片里。

              Classloader
          一個java應用程序可以有兩種類裝載器:啟動類裝載器(bootstrap)和用戶定義的類裝載器,啟動類裝載器是唯一的,它屬于Java虛擬機實現的一部分。
          每一個類裝載器都有它自己的命名空間,一個類只能”看到“由同一個類裝載器裝載的其他類,不能跨命名空間訪問。
          用過允許實例化用戶自定義的類裝載器(該類裝載器知道如何從網絡下載class文件),Java類裝載器的體系結構提供了對網絡移動性的支持;通過允許使用不同的用戶定義的類裝載器裝載不同來源的class文件,Java類裝載器的體系結構提供了對完全性的支持。

          posted on 2008-03-22 00:55 yill 閱讀(286) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 临清市| 长汀县| 洛南县| 湘乡市| 乌审旗| 两当县| 仙桃市| 卫辉市| 油尖旺区| 富顺县| 博湖县| 涿州市| 前郭尔| 衡水市| 麻阳| 手游| 佛坪县| 崇文区| 徐州市| 屏东县| 凤翔县| 遂溪县| 永新县| 涿州市| 巴中市| 苏州市| 宽城| 宜阳县| 城市| 理塘县| 肇东市| 海丰县| 陵川县| 田阳县| 班玛县| 奈曼旗| 辽源市| 灌云县| 屏南县| 茂名市| 中山市|