本文是主要根據百度百科以網上一些資料,整理的一點對Java的淺顯的瞭解,不當之處,還請大家批評指正。 最初見到Java這個單詞,是在以前的手機上,游戲啟動時總會顯示java的圖標和名字,就感覺java是做游戲的;後來學習編程語言PHP,才知道java也是一門後端語言;再後來接觸到了更多的同事和客戶, ...
本文是主要根據百度百科以網上一些資料,整理的一點對Java的淺顯的瞭解,不當之處,還請大家批評指正。
最初見到Java這個單詞,是在以前的手機上,游戲啟動時總會顯示java的圖標和名字,就感覺java是做游戲的;後來學習編程語言PHP,才知道java也是一門後端語言;再後來接觸到了更多的同事和客戶,就經常會被問到這些問題:你為什麼選擇PHP開發,而不選擇Java呢,Java的薪資較高一些啊?你這個項目為什麼不用Java來做,安全性不是更高嗎?... ...每當問及此類問題,只能以PHP學習更快,市場占有量不小,開發速度快等搪塞一下,但是總感覺理屈詞窮,很難說服別人,畢竟自己對Java跟本就不瞭解,同事的Java程式都沒看過一眼,所以就想瞭解一下這門強大的語言。
況且作為一個開發者,很多大牛大神們都是掌握多門語言,即使沒掌握,但是對各種語言的優缺點瞭如指掌,每當談起,總能滔滔不絕,談笑風生,給人感覺你就是專業的一樣。所以就上網翻了一點關於Java的資料,還請大家指點一二。
網上排行榜顯示,2015年及2014年最熱門的編程語言顯示:Java都排行第一;而在北大青鳥的官網中是這樣描述的:【 Java:永恆的冠軍,全球應用最廣泛的編程語言,Java一直居於TIOBE《編程語言排行榜》榜首地位。】;原來Java這麼火,怪不得偶爾會聽聞某某同事轉行去做Java了。
Java簡介:
Java是一種可以撰寫跨平臺應用程式的面向對象的程式設計語言。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級電腦、行動電話和互聯網,同時擁有全球最大的開發者專業社群。
Java體系:
Java分為三個體系,分別為Java SE(J2SE,Java2 Platform Standard Edition,標準版),JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企業版),Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。
- Java SE(Java Platform,Standard Edition)。Java SE 以前稱為J2SE。它允許開發和部署在桌面、伺服器、嵌入式環境和實時環境中使用的Java應用程式。Java SE 包含了支持Java Web 服務開發的類,併為Java Platform,Enterprise Edition(Java EE)提供基礎。
- Java EE(Java Platform,Enterprise Edition)。這個版本以前稱為J2EE。企業版本幫助開發和部署可移植、健壯、可伸縮且安全的伺服器端 Java 應用程式。Java EE 是在Java SE 的基礎上構建的,它提供Web 服務、組件模型、管理和通信API,可以用來實現企業級的面向服務體繫結構(service-oriented architecture,SOA)和Web 2.0 應用程式。
- Java ME(Java Platform,Micro Edition)。這個版本以前稱為J2ME,也叫K-JAVA。Java ME 為在移動設備和嵌入式設備(比如手機、PDA、電視機頂盒和印表機)上運行的應用程式提供一個健壯且靈活的環境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內置的網路協議以及對可以動態下載的連網和離線應用程式的豐富支持。基於Java ME 規範的應用程式只需編寫一次,就可以用於許多設備,而且可以利用每個設備的本機功能。
Java特性:(通常我們接觸的開發都是指Java EE吧)
(1)Java語言是易學的。Java語言的語法與C語言和C++語言很接近,使得大多數程式員很容易學習和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地,Java語言不使用指針,而是引用。並提供了自動的廢料收集,使得程式員不必為記憶體管理而擔憂。 (2)Java語言是強制面向對象的。Java語言提供類、介面和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持介面之間的多繼承,並支持類與介面之間的實現機制(關鍵字為implements)。Java語言全面支持動態綁定,而C++語言只對虛函數使用動態綁定。總之,Java語言是一個純的面向對象程式設計語言。 (3)Java語言是分散式的。Java語言支持Internet應用的開發,在基本的Java應用編程介面中有一個網路應用編程介面(java net),它提供了用於網路應用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠程方法激活)機制也是開發分散式應用的重要手段。 (4)Java語言是健壯的。Java的強類型機制、異常處理、垃圾的自動收集等是Java程式健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。 (5)Java語言是安全的。Java通常被用在網路環境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網路下載的類具有一個安全防範機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、位元組代碼檢查,並提供安全管理機制(類SecurityManager)讓Java應用設置安全哨兵。 (6)Java語言是體繫結構中立的。Java程式(尾碼為java的文件)在Java平臺上被編譯為體繫結構中立的位元組碼格式(尾碼為class的文件),然後可以在實現這個Java平臺的任何系統中運行。這種途徑適合於異構的網路環境和軟體的分發。 (7)Java語言是可移植的。這種可移植性來源於體繫結構中立性,另外,Java還嚴格規定了各個基本數據類型的長度。Java系統本身也具有很強的可移植性,Java編譯器是用Java實現的,Java的運行環境是用ANSI C實現的。 (8)Java語言是解釋型的。如前所述,Java程式在Java平臺上被編譯為位元組碼格式,然後可以在實現這個Java平臺的任何系統中運行。在運行時,Java平臺中的Java解釋器對這些位元組碼進行解釋執行,執行過程中需要的類在聯接階段被載入到運行環境中。 (9)Java是性能略高的。與那些解釋型的高級腳本語言相比,Java的性能還是較優的。 (10)Java語言是原生支持多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創建。通常有兩種方法來創建線程:其一,使用型構為Thread(Runnable)的構造子將一個實現了Runnable介面的對象包裝成一個線程,其二,從Thread類派生出子類並重寫run方法,使用該子類創建的對象即為線程。值得註意的是Thread類已經實現了Runnable介面,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執行,並提供多線程之間的同步機制(關鍵字為synchronized)。 (11)Java語言是動態的。Java語言的設計目標之一是適應於動態變化的環境。Java程式需要的類能夠動態地被載入到運行環境,也可以通過網路來載入所需要的類。這也有利於軟體的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。 Java語言的優良特性使得Java應用具有無比的健壯性和可靠性,這也減少了應用系統的維護費用。Java對對象技術的全面支持和Java平臺內嵌的API能縮短應用系統的開發時間並降低成本。Java的編譯一次,到處可運行的特性使得它能夠提供一個隨處可用的開放結構和在多平臺之間傳遞信息的低成本方式。特別是Java企業應用編程介面(Java Enterprise APIs)為企業計算及電子商務應用系統提供了有關技術和豐富的類庫。 優勢好大呀,先瞭解這些吧。