不介紹Java 常用語
對Java 的總體介紹就是不完整的
盡管促使Java 誕生的源動力是可移植性和安全性
但在Java 語言最終成型的過程中
其他一些因素也起了重要的作用
Java 設計開發小組的成員總結了這些關鍵因素
稱其為Java 的專門用語
包括下面幾個
· 簡單(Simple)
· 安全(Secure)
· 可移植(Portable)
· 面向對象(Objectoriented)
· 健壯(Robust)
· 多線程(Multithreaded)
· 體系結構中立(Architectureneutral)
· 解釋執行(Interpreted)
· 高性能(High performance)
· 分布式(Distributed)
· 動態(Dynamic)
在這些特性中安全和可移植已經在前面介紹過了下面讓我們看看其他特性的含義
一 簡單
Java 設計目的是讓專業程序員覺得既易學又好用假設你有編程經歷你將不覺得Java 難掌握如果你已經理解面向對象編程的基本概念學習Java 將更容易如果你是一個經驗豐富的C++ 程序員那就最好了學習Java 簡直不費吹灰之力因為Java 承C/C++ 語法和許多C++ 面向對象的特性大多數程序員在學習Java 時都不會覺得太難另外C++中許多容易混淆的概念或者被Java 棄之不用了或者以一種更清楚更易理解的方式實現
除了和C/C++ 類似以外Java 的另外一個屬性也使它更容易學習設計人員努力使Java 中不出現顯得讓人吃驚的特性在Java 中很少明確地告訴你如何才能完成一項特定的任務
二 面向對象
盡管受到其前輩的影響但Java 沒被設計成兼容其他語言源代碼的程序這允許Java 開發組自由地從零開始這樣做的一個結果是Java 語言可以更直接更易用更實際的接近對象通過對近幾十年面向對象軟件優點的借鑒Java 設法在純進化論者的任何事物都是一個對象和實用主義者的不討論對象不對象的論點之間找到了平衡Java 的對象模型既簡單又容易擴展對於簡單數據類型例如整數它保持了高性能但不是對象
三健壯
萬維網上多平台的環境使得它對程序有特別的要求因為程序必須在許多系統上可靠地執行這樣在設計Java 時創建健壯的程序被放到了高度優先考慮的地位為了獲得可靠性Java 在一些關鍵的地方限制你強迫你在程序開發過程中及早發現錯誤同時Java 使你不必擔心引起編程錯誤的許多最常見的問題因為Java 是一種嚴格的類型語言它不但在編譯時檢查代碼而且在運行時也檢查代碼事實上在運行時經常碰到的難以重現的難以跟蹤的許多錯誤在Java 中幾乎是不可能產生的要知道使程序在不同的運行環境中以可預見的方式運行是Java 的關鍵特性
為更好理解Java 是如何具有健壯性的讓我們考慮使程序失敗的兩個主要原因內存管理錯誤和誤操作引起的異常情況(也就是運行時錯誤)在傳統的編程環境下內存管理是一項困難乏味的任務例如在C/C++ 中程序員必須手工地分配並且釋放所有的動態內存這有時會導致問題因為程序員可能忘記釋放原來分配的內存或者釋放了其他部分程序正在使用的內存Java 通過替你管理內存分配和釋放可以從根本上消除這些問題(事實上釋放內存是完全自動的因為Java 為閒置的對象提供內存垃圾自動收集)在傳統的環境下異常情況可能經常由被零除或文件未找到這樣的情況引起而我們又必須用既繁多又難以理解的一大堆指令來對它們進行管理Java 通過提供面向對象的異常處理機制來解決這個問題一個寫得很好的Java 程序所有的運行時錯誤都可以並且應該被你的程序自己進行管理
四多線程
設計Java 的目標之一是為了滿足人們對創建交互式網上程序的需要為此Java 支持多線程編程因而你用Java 編寫的應用程序可以同時執行多個任務Java 運行時系統在多線程同步方面具有成熟的解決方案這使你能夠創建出運行平穩的交互式系統Java 的多線程機制非常好用因而你只需關注程序細節的實現不用擔心後台的多任務系統
五結構中立
Java 設計者考慮的一個主要問題是程序代碼的持久性和可移植性程序員面臨的一個主要問題是不能保證今天編寫的程序明天能否在同一台機器上順利運行操作系統升級處理器升級以及核心系統資源的變化都可能導致程序無法繼續運行Java 設計者對這個問題做過多種嘗試Java 虛擬機(JVM )就是試圖解決這個問題的他們的目標是只要寫一次程序在任何地方任何時間該程序永遠都能運行在很大程度上Java 實現了這個目標
六解釋性和高性能
前面已提到通過把程序編譯為Java 字節碼這樣一個中間過程Java 可以產生跨平台運行的程序字節碼可以在提供Java 虛擬機(JVM )的任何一種系統上被解釋執行早先的許多嘗試解決跨平台的方案對性能要求都很高其他解釋執行的語言系統如BASICTclPERL 都有無法克服的性能缺陷然而Java 卻可以在非常低檔的CPU 上順利運行前面已解釋過Java 確實是一種解釋性語言Java 的字節碼經過仔細設計因而很容易便能使用JIT 編譯技術將字節碼直接轉換成高性能的本機代碼Java 運行時系統在提供這個特性的同時仍具有平台獨立性因而高效且跨平台對Java 來說不再矛盾
七分布式
Java 為Internet 的分布式環境而設計因為它處理TCP/IP 協議事實上通過URL 地址存取資源與直接存取一個文件的差別是不太大的Java 原來的版本(Oak) 包括了內置的地址空格消息傳遞(intraaddressspace) 特性這允許位於兩台不同的計算機上的對象可以遠程地執行過程Java 最近發布了叫做遠程方法調用(Remote Method Invocation RMI )的軟件包這個特性使客戶機/服務器編程達到了無與倫比的抽象級
八動態
Java 程序帶有多種的運行時類型信息用於在運行時校驗和解決對象訪問問題這使得在一種安全有效的方式下動態地連接代碼成為可能對小應用程序環境的健壯性也十分重要因為在運行時系統中字節碼內的小段程序可以動態地被更新
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19362.html