Java語言有哪些特性
Java 語言的語法與C語言和C++語言很接近,使得大多數程序員很容易學習和使用Java。下面小編整理了Java語言的特性,希望對大家有幫助!
1
簡 單
Java設計目的是讓專業程序員覺得既易學又好用。假設你有編程經歷,你將不覺得Java難掌握。如果你已經理解面向對象編程的基本概念,學習Java將更容易。如果你是一個經驗豐富的C++程序員,那就最好了,學習Java簡直不費吹灰之力。因為Java承C/C++語法和許多C++面向對象的特性,大多數程序員在學習Java時都不會覺得太難。另外,C++中許多容易混淆的概念,或者被Java棄之不用了,或者以一種更清楚、更易理解的方式實現。
除了和C/C++類似以外,Java的另外一個屬性也使它更容易學習:設計人員努力使Java中不出現顯得讓人吃驚的特性。在Java中,很少明確地告訴你如何才能完成一項特定的任務。
2
面向對象
儘管受到其前輩的影響,但Java沒被設計成兼容其他語言源代碼的程序。這允許Java開發組自由地從零開始。這樣做的一個結果是,Java語言可以更直接、更易用、更實際的接近對象。通過對近幾十年面向對象軟件優點的借鑑,Java設法在純進化論者的“任何事物都是一個對象”和實用主義者的“不討論對象不對象”的論點之間找到了平衡。Java的對象模型既簡單又容易擴展,對於簡單數據類型,例如整數,它保持了高性能,但不是對象。
3
健 壯
萬維網上多平台的環境使得它對程序有特別的要求,因為程序必須在許多系統上可靠地執行。這樣,在設計Java時,創建健壯的程序被放到了高度優先考慮的地位。為了獲得可靠性,Java在一些關鍵的地方限制你,強迫你在程序開發過程中及早發現錯誤。同時,Java使你不必擔心引起編程錯誤的許多最常見的.問題。因為Java是一種嚴格的類型語言,它不但在編譯時檢查代碼,而且在運行時也檢查代碼。事實上,在運行時經常碰到的難以重現的、難以跟蹤的許多錯誤在Java中幾乎是不可能產生的。要知道,使程序在不同的運行環境中以可預見的方式運行是Java的關鍵特性。
為更好理解Java是如何具有健壯性的,讓我們考慮使程序失敗的兩個主要原因:內存管理錯誤和誤操作引起的異常情況(也就是運行時錯誤)。在傳統的編程環境下,內存管理是一項困難、乏味的任務。例如,在C/C++中,程序員必須手工地分配並且釋放所有的動態內存。這有時會導致問題,因為程序員可能忘記釋放原來分配的內存,或者釋放了其他部分程序正在使用的內存。Java通過替你管理內存分配和釋放,可以從根本上消除這些問題(事實上,釋放內存是完全自動的,因為Java為閒置的對象提供內存垃圾自動收集)。在傳統的環境下,異常情況可能經常由“被零除”或“文件未找到”這樣的情況引起,而我們又必須用既繁多又難以理解的一大堆指令來對它們進行管理。Java通過提供面向對象的異常處理機制來解決這個問題。一個寫得很好的Java程序,所有的運行時錯誤都可以並且應該被你的程序自己進行管理。
4
多線程
設計Java的目標之一是為了滿足人們對創建交互式網上程序的需要。為此,Java支持多線程編程,因而你用Java編寫的應用程序可以同時執行多個任務。Java運行時系統在多線程同步方面具有成熟的解決方案,這使你能夠創建出運行平穩的交互式系統。Java的多線程機制非常好用,因而你只需關注程序細節的實現,不用擔心後台的多任務系統。
5
結構中立
Java設計者考慮的一個主要問題是程序代碼的持久性和可移植性。程序員面臨的一個主要問題是,不能保證今天編寫的程序明天能否在同一台機器上順利運行。操作系統升級、處理器升級以及核心系統資源的變化,都可能導致程序無法繼續運行。Java設計者對這個問題做過多種嘗試,Java虛擬機(JVM)就是試圖解決這個問題的。他們的目標是“只要寫一次程序,在任何地方、任何時間該程序永遠都能運行”。在很大程度上,Java實現了這個目標。
6
解釋性和高性能
前面已提到,通過把程序編譯為Java字節碼這樣一箇中間過程,Java可以產生跨平台運行的程序。字節碼可以在提供Java虛擬機(JVM)的任何一種系統上被解釋執行。早先的許多嘗試解決跨平台的方案對性能要求都很高。其他解釋執行的語言系統,如BASIC,Tcl,PERL都有無法克服的性能缺陷。然而,Java卻可以在非常低檔的CPU上順利運行。前面已解釋過,Java確實是一種解釋性語言,Java的字節碼經過仔細設計,因而很容易便能使用JIT編譯技術將字節碼直接轉換成高性能的本機代碼。Java運行時系統在提供這個特性的同時仍具有平台x獨立性,因而“高效且跨平台”對Java來説不再矛盾。
7
分佈式
Java為Internet的分佈式環境而設計,因為它處理TCP/IP協議。事實上,通過URL地址存取資源與直接存取一個文件的差別是不太大的。Java原來的版本(Oak)包括了內置的地址空格消息傳遞(intra-address-space)特性。這允許位於兩台不同的計算機上的對象可以遠程地執行過程。Java最近發佈了叫做遠程方法調用(RemoteMethodInvocation,RMI)的軟件包,這個特性使客户機/服務器編程達到了無與倫比的抽象級。
8
動 態
Java程序帶有多種的運行時類型信息,用於在運行時校驗和解決對象訪問問題。這使得在一種安全、有效的方式下動態地連接代碼成為可能,對小應用程序環境的健壯性也十分重要,因為在運行時系統中,字節碼內的小段程序可以動態地被更新。
-
java知識點詳細總結大綱
沒有風浪,便沒有勇敢的弄潮兒;沒有荊棘,也沒有不屈的開拓者。以下是小編為大家搜索整理了java知識點詳細總結,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!一:java概述:1991年Sun公司的JamesGosling等人開始開發名稱為Oak的語言,希望用於控制...
-
java考試複習題
人類的希望像是一顆永恆的星,烏雲掩不住它的光芒。特別是在今天,和平不是一個理想,一個夢,它是萬人的願望。以下是小編為大家搜索整理的java考試複習題,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!一、選擇題1、以下程序段執行後的K值為()。...
-
計算機二級JAVA考試強化訓練題(單選)
為幫助考生們更快第掌握二級JAVA相應知識點,以下是本站小編搜索整理的一份計算機二級JAVA考試強化訓練題(單選),供參考練習,預祝考生們考出自己理想的成績!想了解更多相關信息請持續關注我們應屆畢業生考試網!單選題1).下列關於Applet的安全限制的敍述中,錯誤的是(...
-
新手如何學習Java
Java作為一門高級編程語言在信息科技時代有着廣泛的應用。新手如何學習Java呢?下面小編來給大家介紹Java的學習方法,希望對大家有幫助!1理解Java思想Java是一門面向對象編程語言。向對象編程是Java最核心的思想,這也是區分和C等其他編程語言的一個顯著特徵。掌握...