知識點:
1. AVA體系結(jié)構(gòu)包括四個獨立但相關(guān)的部分:java程序設(shè)計語言、Java class文件格式、Java應(yīng)用編程接口API、Java虛擬機。
2. Java虛擬機和Java API的組合被稱為Java運行時系統(tǒng),也被稱作Java平臺,所有的Java程序都在這上面運行。
3. Java虛擬機是一臺抽象的計算機,其規(guī)范定義了每個Java虛擬機必須實現(xiàn)的特性,但是為每個特定實現(xiàn)都留下了很多選擇。
它的主要任務(wù)是裝載class文件并且執(zhí)行其中的代碼,它包含一個類裝載器,它可以從程序和API中裝載class文件,而字節(jié)碼由執(zhí)行引擎來執(zhí)行。
4. 不同的執(zhí)行引擎,其實現(xiàn)存在著很大的不同。大致分為以下四種:一次性解釋、即時編譯器、自適應(yīng)優(yōu)化器、硬件芯片構(gòu)成的。
5. Java方法是由Java語言編寫的,編譯成字節(jié)碼,存儲在class文件中;而本地方法是由其他語言編寫的,編譯成和處理器相關(guān)的機器代碼,本地方法是Java程序和底層主機操作系統(tǒng)的連接方法。
6. 有兩種不同的類裝載器:系統(tǒng)裝載器和用戶自定義裝載器,被不同的類裝載器裝載的類存放在不同的命名空間中,他們不能互相訪問。
7. Java class文件為Java程序提供獨立于底層主機平臺的二進制形式的服務(wù),使得Java程序能夠做到與平臺無關(guān);Java class文件設(shè)計的緊湊,適合在網(wǎng)絡(luò)上傳送,且Java程序是動態(tài)連接和動態(tài)擴展的,class文件只有在需要的時候才下載,這個特點使得Java具有網(wǎng)絡(luò)移動性的可能。
8. Java API是運行庫的集合,它提供一套訪問主機系統(tǒng)資源的標準方法;
9. 所有被裝載的class文件(包括從應(yīng)用程序中和從Java API中提取的)和所有已經(jīng)裝載的動態(tài)庫(包括本地方法)共同組成了在Java虛擬機上運行的整個程序。正是由于每個特定的主機平臺上都明確地實現(xiàn)了Java虛擬機和Java API,因此Java程序本身就能夠成為具有平臺無關(guān)性的程序。
10. Java程序設(shè)計語言:Java是為網(wǎng)絡(luò)而設(shè)計的,但Java得應(yīng)用并不局限于網(wǎng)絡(luò)。
Java體系結(jié)構(gòu)