Java 簡介

Java 簡介

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

後來 Sun 公司被 Oracle (甲骨文)公司收購,Java 也隨之成為 Oracle 公司的產品。

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 語言誕生
  • 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。
  • 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 釋出

Java 開發工具

Java 語言儘量保證系統記憶體在 1G 以上,其他工具如下所示:

  • Linux 系統、Mac OS 系統、Windows 95/98/2000/XP,WIN 7/8系統。
  • Java JDK 7、8……
  • vscode 編輯器或者其他編輯器。
  • IDE:Eclipse、 IntelliJ IDEA、NetBeans 等。

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

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

在下一章節我們將介紹如何配置java開發環境。