Java有哪些常用語?不介紹Java 常用語,對Java 的總體介紹就是不完整的。儘管促使Java 誕生的源動力是可移植性和安全性,但在Java 語言最終成型的過程中,其他一些因素也起了重要的作用。接下來,綠茶小編就一一來介紹一下。
· 簡單(Simple)
· 安全(Secure)
· 可移植(Portable)
· 物件導向(Object-oriented)
· 健壯(Robust)
· 多線程(Multithreaded)
· 體繫結構中立(Architecture-neutral)
· 解釋執行(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 )的任何一種系統上被解釋執行。
早先的許多嘗試解決跨平台的方案對效能要求都很高。其他解釋執行的語言系統,如BASIC,Tcl,PERL 都有無法克服的效能缺陷。然而,Java 卻可以在非常低檔的CPU 上順利運行。
前面已解釋過,Java 確實是一種解釋性語言,Java 的位元組碼經過仔細設計,因而很容易便能使用JIT 編譯技術將位元組碼直接轉換成高效能的機器碼。Java 運行時系統在提供這個特性的同時仍具有平台獨立性,因而“高效且跨平台”對Java 來說不再矛盾。
七、分布式
Java 為Internet 的分布式環境而設計,因為它處理TCP/IP 協議。事實上,通過URL 地址存取資源與直接存取一個檔案的差別是不太大的。
Java 原來的版本(Oak) 包括了內建的地址空格訊息傳遞(intra-address-space) 特性。這允許位於兩台不同的電腦上的對象可以遠程地執行過程。Java 最近發布了叫做遠程方法調用(Remote Method Invocation ,RMI )的軟體包,這個特性使客戶機/伺服器編程達到了無與倫比的抽象級。
八、動態
Java 程式帶有多種的運行時類型資訊,用於在運行時校正和解決對象訪問問題。這使得在一種安全、有效方式下動態地串連代碼成為可能,對小應用程式環境的健壯性也十分重要,因為在運行時系統中,位元組碼內的小段程式可以動態地被更新。
綠茶小編猜你還喜歡:
Java編程時節省記憶體技巧:提高工作效率
Java新手入門教程:新手必須掌握的30條Java基本概念