【01】Java|簡介

Java 簡介

Java是由Sun Microsystems公司於1995年5月推出的Java面向對象程序設計語言和Java平臺的總稱。由James Gosling和同事們共同研發,並在1995年正式推出。


Java分爲三個體系:
JavaSE是Java平臺標準版的簡稱,用於開發和部署桌面、服務器以及嵌入設備和實時環境中的Java應用程序。
Java EE(Java Platform,Enterprise Edition)是sun公司(2009年4月20日甲骨文將其收購)。這個版本以前稱爲 J2EE。能夠幫助我們開發和部署可移植、健壯、可伸縮且安全的服務器端 Java應用程序。Java EE 是在 Java SE 的基礎上構建的,它提供Web 服務、組件模型、管理和通信 API,可以用來實現企業級的面向服務體系結構(service-oriented architecture,SOA)和 Web 2.0應用程序。
Java ME 又稱爲J2ME,是爲機頂盒、移動電話和PDA之類嵌入式消費電子設備提供的Java語言平臺,包括虛擬機和一系列標準化的Java API。

Java ME與Java SE、Java EE一起構成Java技術的三大版本,通過JCP(Java Community Process)制訂。


主要特性


Java語言是簡單的:
Java語言的語法與C語言和C++語言很接近,使得大多數程序員很容易學習和使用。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地,**Java語言不使用指針,只有引用,即java 不能使用地址。**並提供了自動的廢料收集,使得程序員不必爲內存管理而擔憂。


Java語言是面向對象的:
Java語言提供類、接口和繼承等面向對象的特性,爲了簡單起見,**只支持類之間的單繼承,但支持接口之間的多繼承,並支持類與接口之間的實現機制(關鍵字爲implements)。**Java語言全面支持動態綁定,而C++語言只對虛函數使用動態綁定。總之,Java語言是一個純的面向對象程序設計語言。


Java語言是分佈式的:
Java語言支持Internet應用的開發,在基本的Java應用編程接口中有一個網絡應用編程接口(java net),它提供了用於網絡應用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠程方法激活)機制也是開發分佈式應用的重要手段。


Java語言是健壯的:
Java的強類型機制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。


Java語言是安全的:
Java通常被用在網絡環境中,爲此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網絡下載的類具有一個安全防範機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節代碼檢查,並提供安全管理機制(類SecurityManager)讓Java應用設置安全哨兵。


Java語言是體系結構中立的:
Java程序(後綴爲java的文件)在Java平臺上被編譯爲體系結構中立的字節碼格式(後綴爲class的文件),然後可以在實現這個Java平臺的任何系統中運行。這種途徑適合於異構的網絡環境和軟件的分發。


Java語言是可移植的:
這種可移植性來源於體系結構中立性,另外,Java還嚴格規定了各個基本數據類型的長度。Java系統本身也具有很強的可移植性,Java編譯器是用Java實現的,Java的運行環境是用ANSI C實現的。


Java語言是解釋型的:
如前所述,Java程序在Java平臺上被編譯爲字節碼格式,然後可以在實現這個Java平臺的任何系統中運行。在運行時,Java平臺中的Java解釋器對這些字節碼進行解釋執行,執行過程中需要的類在聯接階段被載入到運行環境中。


Java是高性能的:
與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨着JIT(Just-In-Time)編譯器技術的發展越來越接近於C++。


Java語言是多線程的:
**在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創建。**通常有兩種方法來創建線程:其一,使用型構爲Thread(Runnable)的構造子類將一個實現了Runnable接口的對象包裝成一個線程,其二,從Thread類派生出子類並重寫run方法,使用該子類創建的對象即爲線程。值得注意的是Thread類已經實現了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執行,並提供多線程之間的同步機制(關鍵字爲synchronized)。


Java語言是動態的:
Java語言的設計目標之一是適應於動態變化的環境。J**ava程序需要的類能夠動態地被載入到運行環境,也可以通過網絡來載入所需要的類**。這也有利於軟件的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。


最後簡單理解java發展歷史

1995年5月23日,Java語言誕生
1996年1月,第一個JDK-JDK1.0誕生
1996年4月,10個最主要的操作系統供應商申明將在其產品中嵌入JAVA技術
1996年9月,約8.3萬個網頁應用了JAVA技術來製作
1997年2月18日,JDK1.1發佈
1997年4月2日,JavaOne會議召開,參與者逾一萬人,創當時全球同類會議規模之紀錄
1997年9月,JavaDeveloperConnection社區成員超過十萬
1998年2月,JDK1.1被下載超過2,000,000次
1998年12月8日,JAVA2企業平臺J2EE發佈
1999年6月,SUN公司發佈Java的三個版本:標準版(JavaSE,以前是J2SE)、企業版(JavaEE以前是J2EE)和微型版(JavaME,以前是J2ME)
2000年5月8日,JDK1.3發佈
2000年5月29日,JDK1.4發佈
2001年6月5日,NOKIA宣佈,到2003年將出售1億部支持Java的手機
2001年9月24日,J2EE1.3發佈
2002年2月26日,J2SE1.4發佈,自此Java的計算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5發佈,成爲Java語言發展史上的又一里程碑。爲了表示該版本的重要性,J2SE1.5更名爲Java SE 5.0
2005年6月,JavaOne大會召開,SUN公司公開Java SE 6。此時,Java的各種版本已經更名,以取消其中的數字"2":J2EE更名爲Java EE,J2SE更名爲Java SE,J2ME更名爲Java ME
2006年12月,SUN公司發佈JRE6.0
2009年04月20日,甲骨文74億美元收購Sun。取得java的版權。
2010年11月,由於甲骨文對於Java社區的不友善,因此Apache揚言將退出JCP[4]。
2011年7月28日,甲骨文發佈 Java7.0 的正式版。
2014年3月18日,Oracle公司發表 Java SE 8。
2017年9月21日,Oracle公司發表 Java SE 9
2018年3月21日,Oracle公司發表 Java SE 10
2018年9月25日,Java SE 11 發佈
2019年3月20日,Java SE 12 發佈


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章