Java體系結構介紹
阿新 • • 發佈:2018-06-23
CA 但是 volcano 訪問控制 開發 kit 很好 優化 特性 Java技術的核心就是Java虛擬機——所有Java程序都在其上運行,需要Java虛擬機、Java API和Java,class文件的配合,Java程序才能夠運行
為什麽使用Java
通過網絡連接起來的智能設備和計算機組成的基礎結構開創了軟件的新環境,它為軟件開發者帶來了新的挑戰和機遇。Java可以很好地幫助軟件開發者面對挑戰,抓住挑戰。因為Java是為網絡而設計得。Java的這種適合網絡環境的能力是由其體系結構決定的,它可以保證安全的、健壯的且平臺無關的程序通過網絡傳播,在很多不同的計算機和設備上運行。
網絡帶來的挑戰和機遇
平臺無關性:軟件開發者面對的挑戰之一是這種逐漸增長的以網絡為核心的硬件環境,其包含的設備越來越廣泛。一般網絡都有很多不同的設備、不同的硬件體系、不同的操作環境,用於不同的用途。Java通過創建與平臺無關的程序來解決這個問題。和一個特定的系統以及操作環境編譯的程序比起來,用Java編寫的平臺無關的程序會更容易編寫、管理和維護,代價也更低
安全性:Java體系結構對程序健壯性有一定的保證,一些有害代碼不會在Java代碼中出現,比如:內存泄漏。Java先天上防止了很多bug的出現,所以它還帶來和網絡無關的另一個好處:提高程序員的生產力
網絡移動性:運動對象——它同時在2網絡上傳遞代碼和狀態,Java實現了對象移動的諾言——通過它的對象序列化API和RMI(遠程調用方法),對象在網絡化的運動型分布式系統編程創造了新模型,有效地把面向對象編程的優點帶到了網絡上
體系結構
Java體系結構包括四個獨立但相關的技術:
- Java程序設計語言
- Java.class文件格式
- Java應用編程接口(API)
- Java虛擬機
- 在由軟件實現的虛擬機中,最簡單的執行引擎就是一次性解釋字節碼;
- 另一種引擎更快,但是也消耗內存,叫做“即時編譯器”,這種情況下,第一次被執行的字節碼會被編譯成本的機器代碼,編譯出的本地機器會被緩存,當方法以後被調用的時候可以重用;
- 第三種引擎是自適應優化器,在這種方法裏,虛擬機開始的時候解釋字節碼,但是會監視運行中程序的活動,並且記錄下使用最頻繁的代碼段。
- Java方法使用Java語言編寫,編譯成字節碼文件,存儲在.class文件中的
- 本地方法是由其他語言(比如C,C++,或者匯編語言)編寫的,編譯成和處理器相關的機器代碼
- 啟動類裝載器是Java虛擬機實現的一部分
- Java應用程序能夠在運行時安裝用戶定義的類裝載器,這是以自定義方式裝載類
- 面向對象
- 多線程
- 結構化錯誤處理
- 垃圾收集
- 動態連接
- 動態擴展
- 隨程序附帶一種虛擬機
- 把程序中對時間要求嚴格的部分作為本地方法實現
- 把整個程序編譯成一個單獨的可執行文件,就像C和C++一樣
Java體系結構介紹