新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > Java的四個核心概念

        Java的四個核心概念

        作者: 時間:2017-10-27 來源:網絡 收藏

          Java已經成為一個龐大而復雜的技術平臺,對于開發人員而言,要想更好的掌握Java技術,深入理解底層的技術處理細節必不可少。下面介紹下Java的四個核心概念:

        本文引用地址:http://www.104case.com/article/201710/368784.htm

          1.Java虛擬機

          Java虛擬機的主要任務是裝在class文件并且執行其中的字節碼。Java虛擬機包含一個類裝載器,它可以從程序和 API中裝載class文件。Java API中只有程序執行時需要的那些類才會被裝載。字節碼由執行引擎來執行。不同的Java虛擬機中,執行引擎可能實現得非常不同。在由軟件實現的虛擬機中,最簡單的執行引擎就是一次性解釋字節碼。

          另一種執行引擎更快,但是也更消耗內存,叫做“即時編譯器(just-in-TIme compiler)”。在這種情況下,第一次被執行的字節碼會被編譯成本地機器代碼。編譯出的本地機器代碼會被緩存,當方法以后被調用的時候可以重用。

          第三種執行引擎是自適應優化器。在這種方法里,虛擬機開始的時候解釋字節碼,但是會監視運行中程序的活動,并且記錄下使用最頻繁的代碼段。程序運行的時候,虛擬機只把那些活動最頻繁的代碼編譯成本地代碼,其他的代碼由于使用得不是很頻繁,繼續保留為字節碼-由虛擬機繼續解釋它們。

          一個自適應的優化器可以使得Java虛擬機在80%~90%的時間里執行被優化過的本地代碼,而只需要編譯10%~20%的對性能有影響的代碼。

          2.類裝載器的體系結構

          一個Java應用程序可以使用兩種類裝載器:“啟動(bootstrap)”類裝載器和用戶定義的類裝載器。啟動類裝載器(這是系統中唯一的)是Java虛擬機實現的一部分。啟動類裝載器通常使用某種默認方式從本地磁盤中裝載類,包括Java API類(啟動類裝載器也被稱為原始類裝載器、系統類裝載器或者默認類裝載器)。

          Java應用程序能夠在運行時安裝用戶定義的類裝載器,這種類裝載器能夠使用自定義的方式來裝載類。例如,從網絡下載class文件。盡管啟動類裝載器是虛擬機實現的本質部分,而用戶定義的類裝載器不是,但用戶定義的類裝載器能夠用Java來編寫,能夠被編譯成class文件,能夠被虛擬機裝載,還能夠像其它對象一樣實例化。

          3.Java class文件

          Java class文件主要在平臺無關性和網絡移動性方面使Java更適合網絡。它在平臺無關性方面的任務是:為Java程序提供獨立于底層主機平臺的二進制形式的服務。這種途徑途徑打破了C或者C++等語言所遵循的傳統,使用這些傳統語言寫的程序通常首先被編譯,然后被連接成單獨的、專門支持特定硬件平臺和操作系統的二進制文件。

          通常情況下,一個平臺上的二進制可執行文件不能在其他平臺上工作。而Java class文件時可以運行在任何支持Java虛擬機的硬件平臺和操作系統上的二進制文件。

          4.Java API

          Java API通過支持平臺無關性和安全性,使得Java適應于網絡應用。Java API是運行庫的集合,它提供了一套訪問主機系統資源的標準方法。運行Java程序時,虛擬機裝載程序的class文件所使用的Java API class文件。所有被裝載的class文件(包括從應用程序中和從Java API中提取的)和所有已經裝載的動態庫(包含本地方法)共同組成了在Java虛擬機上運行的整個程序。



        關鍵詞: java

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 仙居县| 会宁县| 天津市| 密山市| 安乡县| 宝清县| 应城市| 民乐县| 房山区| 正蓝旗| 九江市| 马鞍山市| 达州市| 阳西县| 益阳市| 怀化市| 咸宁市| 都昌县| 亳州市| 梅河口市| 惠安县| 山东| 德格县| 佛冈县| 西乌珠穆沁旗| 长汀县| 吴旗县| 枝江市| 朝阳区| 湛江市| 沽源县| 诸城市| 台北县| 海门市| 建始县| 榕江县| 嘉义县| 高阳县| 伊通| 英超| 齐齐哈尔市|