本文是主要根據百度百科以網上一些資料,整理的一點對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)為企業計算及電子商務應用系統提供了有關技術和豐富的類庫。
優勢好大呀,先了解這些吧。