java白皮書的關鍵術語
Java 的設計者已經編寫了頗有影響力的“ 白皮書”,用來解釋設計的初衷以及完成的情 況,並且釋出了一個簡短的摘要, 這個摘要用下面 11 個關鍵術語進行組織: 1 ) 簡單性 2 ) 面向物件 3 ) 分散式 4 ) 健壯性 5 ) 安全性 6 ) 體系結構中立 7 ) 可移植性 8 ) 解釋型 9 ) 高效能 10 ) 多執行緒 11 ) 動態性
1)簡單性的解釋:
Java 的目標之一是支援開發能夠在小型機器上獨立執行的軟體。 基本的直譯器以及類支援大約僅為 40KB ; 再加上基礎的標準類庫和對執行緒的支援(基本上是一個自包含的微核心) 大約需要增加 175KB
2 ) 面向物件的解釋:
Java與 C++ 的主要不同點在於多重繼承, 在 Java 中, 取而代之的是更簡單的介面概念。與 C++相比, Java 提供了更豐富的執行時自省功能。
簡單地講, 面向物件設計是一種程式設計技術。 它將重點放在教椐 (即物件)和物件的介面上。
用木匠打一個比方, 一個“ 面向物件的” 木匠始終關注的是所製作的椅子, 第二位才是所使用的工具;一個“ 非面向物件的” 木匠首先考慮的是所用的工具。在本質上, Java 的面向物件能力與 C++是一樣的。 3 ) 分散式的解釋:
Java 有一個豐富的例程庫, 用於處理像 HTTP 和 FIT 之類的 TCP/IP 協議。Java 應用 程式能夠通過 URL 開啟和訪問網路上的物件, 其便捷程度就好像訪問本地檔案一樣。
4 ) 健壯性的解釋:
Java 的設計目標之一在於使得 Java 編寫的程式具有多方面的可靠性 .:, Java 投入 了大量的精力進行早期的問題檢測、 後期動態的 (執行時)檢測, 並消除了容易出 錯的情況… … Java 和 C++ 最大的不同在於 Java 採用的指標模型可以消除重寫記憶體 和損壞資料的可能性。
Java 編譯器能夠檢測許多在其他語言中僅在執行時才能夠檢測出來的問題。作為一個開發,不得不提到一個習慣:就是將可能的錯誤都轉變成可以變編譯器所察覺的錯誤。這對於減少bug的出現比較重要。 5 ) 安全性的解釋:
Java 就設計成能夠防範各種攻擊,其中包括: •執行時堆疊溢位。 如蠕蟲和病毒常用的攻擊手段。 •破壞自己的程序空間之外的記憶體。 •未經授權讀寫檔案。 Java 瀏覽器外掛不再信任遠端程式碼,除非程式碼有數字簽名而且使用者同意執行這個程式碼。
6 ) 體系結構中立的解釋:
編譯器生成一個體繫結構中立的目標檔案格式,這是一種編譯過的程式碼, 只要有Java 執行時系統, 這些編譯後的程式碼可以在許多處理器上執行。Java 編譯器通過生成與特定的計算機體系結構無關的位元組碼指令來實現這一特性。
當然, 解釋虛擬機器指令肯定會比全速執行機器指令慢很多。 然而, 虛擬機器有一個選項,可以將執行最頻繁的位元組碼序列翻譯成機器碼,這一過程被稱為即時編譯Java 虛擬機器還有一些其他的優點。它可以檢測指令序列的行為, 從而增強其安全性。 7 ) 可移植性的解釋:
本教據型別的大小以及有關運算都做了明確的說明 ,在 Java 中, 資料型別具有固定的大小, 這消除了程式碼移植時令人頭痛的主要問題。 二進位制資料以固定的格式進行儲存和傳輸, 消除了位元組順序的困擾。字串是用標準的 Unicode 格式儲存的。
8 ) 解釋型的解釋:
9 ) 高效能的解釋:
10 ) 多執行緒的解釋:
11 ) 動態性的解釋: