Java 簡介


Java是由Sun Microsystems公司於1995年5月推出的Java物件導向程式設計語言和Java平台的總稱。由James Gosling和同事共同研發,並於1995年正式推出。

Java分為三個系統:

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平台標準版)

  • JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企業版)

  • JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。

2005年6月,JavaOne大會召開,SUN公司公開Java SE 6。此時,Java的各種版本已經更名以取消其中的數字"2":J2EE更名為Java EE, J2SE更名為Java SE,J2ME更名為Java ME。


主要特性

  • Java語言是簡單的:

    Java語言的語法與C語言和C++語言很接近,使得大多數程式設計師很容易學習和使用。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人困惑的那些特性,如那些運算符重載、多重繼承、自動的強制型別轉換。特別地,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語言的設計目標之一是適應動態變化的環境。 Java程式所需的類別能夠動態地被載入到運行環境,也可以透過網路來載入所需的類別。這也有利於軟體的升級。另外,Java中的類別有一個運行時刻的表示,能進行運行時刻的類型檢查。


發展歷史

  • 1995年5月23日,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的正式版。


Java開發工具

Java語言盡量保證系統內存在1G以上,其他工具如下圖所示:

  • #Linux 系統或Windows 95/98/2000/XP,WIN 7/8系統

  • ##Java JDK 7

  • Notepad編輯器或者其他編輯器。

  • IDE:Eclipse

安裝好以上的工具後,我們就可以輸出Java的第一個程式"Hello World!"

public class HelloWorld {
    public static void main(String []args) {
       System.out.println("Hello World");
    }
}

在下一章我們將介紹如何設定java開發環境。