Java核心技术 卷I 基础知识 学习笔记(1)
參考??Java核心技術 卷I 基礎知識
Java:
簡單性、面向對象、分布式、健壯性、安全性、體系結構中立、可移植性、解釋型、高性能、多線程、動態性。
分布式
Java有一個豐富的例程庫,用于處理像HTTP和FTP之類的TCP/IP協議。Java應用程序能夠通過URL打開和訪問網絡上的對象,其便捷程度就好像訪問本地文件一樣。
健壯性
Java的設計目標之一在于是的Java編寫的程序具有多方面的可靠性,Java投入了大量的經歷進行早期問題檢測、后期動態的運行時檢測,并消除了容易出錯的情況,Java和C++最大的不同在于Java采用的指針模型可以消除重寫內存和損壞數據的可能性。Java編譯器能夠檢測許多在其他語言中僅在運行時才能夠檢測出來的問題。
安全性
Java適用于網絡、分布式環境,為了達到這個目標,在安全方面投入了很大精力。使用Java可以構建防病毒、防篡改的系統。
從一開始,Java就設計成能夠防范各種攻擊,其中包括:
(1)運行時堆棧移除。如蠕蟲和病毒常用的攻擊手段
(2)破壞自己進程空間之外的內存。
(3)未經授權讀寫文件。
體系結構中立
編譯器生成一個體系中立的目標文件格式,這一種經過編譯后的代碼,只要有Java運行時系統,這些編譯后的代碼可以在許多處理器上運行。Java編譯器通過生成與特定的計算機體系結構無關的字節碼指令來實現這一特性。精心設計的字節碼不僅可以很容易地在任何機器上解釋執行,而且還可以動態地翻譯成本地機器代碼。
解釋虛擬機指令肯定會比全素運行機器指令慢很多。然而,? 虛擬機有一個選項,可以將執行最頻繁的字節碼序列翻譯成機器碼,這一過程被稱為及時編譯。
Java虛擬機還有一些其他的優點,可以檢測指令序列的行為,從而增強其安全性。
可移植性
與C和C++不同,Java規范中沒有“依賴具體實現”的地方。
例如,Java中的int永遠為32位的整數,而在C/C++中,int可能是16位整數、32位整數,也可能是編譯器提供商指定的其他大小。唯一的限制只是int類型的大小不能低于short int,并且不能高于long int。在Java中,數據類型具有固定的大小,這消除了代碼移植時令人頭痛的主要問題。二進制數據以固定的格式進行存儲和傳輸,消除了字節順序的困擾,字符串時用標準的Unicode格式存儲的。
作為系統組成部分的類庫,定義了可移植的接口,例如,有一個抽象的Window類,并給出了在UNIX、Windows和Macintosh下的不同實現。
除了用戶界面有關的部分外,所有其他Java庫都能很好地支持平臺獨立性。可以處理文件、正則表達式、XML、日期和時間、數據庫、網絡連接、線程等,而不用操心底層操作系統。不僅程序是可移植的,Java API往往也比原生API質量更高。
解釋型
Java解釋器可以在任何移植了解釋器的機器上執行Java字節碼,由于鏈接是一個增量式且輕量級的過程,所以,開發過程也變得更加快捷,更加具有探索性。
高性能
盡管對解釋后的字節碼性能已經比較滿意,但在有些場合下還需要更加高效的性能,字節碼可以在運行時刻動態地翻譯成對應運行這個應用的特定的CPU的機器碼。
即時編譯器可以監控經常執行那些代碼并優化這些代碼以提高速度。更為復雜的優化是消除函數調用(即內聯)。即時編譯器知道那些類已經加載,基于當前加載的類,如果特定的函數不會被覆蓋,就可以使用內聯。必要時還可以撤銷優化。
多線程
多線程可以帶來更好的交互響應和實時行為。
動態性
Java能適應不斷發展的環境,庫中可以自由地添加新方法和實例變量,對客戶端卻沒有任何影響,在Java中找出運行時類型信息十分簡單。
?
?
?
?
?
總結
以上是生活随笔為你收集整理的Java核心技术 卷I 基础知识 学习笔记(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle 11g DRCP连接方式—
- 下一篇: 加州大学信息科学院长:数据科学课程不只是