Java 簡介
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向?qū)ο蟪绦蛟O(shè)計語言和 Java 平臺的總稱。由 James Gosling和同事們共同研發(fā),并在 1995 年正式推出。
后來 Sun 公司被 Oracle (甲骨文)公司收購,Java 也隨之成為 Oracle 公司的產(chǎn)品。
Java分為三個體系:
- JavaSE(J2SE)(Java2 Platform Standard Edition,java平臺標準版)
- JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平臺企業(yè)版)
- JavaME(J2ME)(Java 2 Platform Micro Edition,java平臺微型版)。
2005 年 6 月,JavaOne 大會召開,SUN 公司公開 Java SE 6。此時,Java 的各種版本已經(jīng)更名,以取消其中的數(shù)字 "2":J2EE 更名為 Java EE,J2SE 更名為Java SE,J2ME 更名為 Java ME。
主要特性
-
Java 語言是簡單的:
Java 語言的語法與 C 語言和 C++ 語言很接近,使得大多數(shù)程序員很容易學習和使用。另一方面,Java 丟棄了 C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉(zhuǎn)換。特別地,Java 語言不使用指針,而是引用。并提供了自動分配和回收內(nèi)存空間,使得程序員不必為內(nèi)存管理而擔憂。
-
Java 語言是面向?qū)ο蟮模?/strong>
Java 語言提供類、接口和繼承等面向?qū)ο蟮奶匦?,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制(關(guān)鍵字為 implements)。Java 語言全面支持動態(tài)綁定,而 C++語言只對虛函數(shù)使用動態(tài)綁定。總之,Java語言是一個純的面向?qū)ο蟪绦蛟O(shè)計語言。
-
Java語言是分布式的:
Java 語言支持 Internet 應用的開發(fā),在基本的 Java 應用編程接口中有一個網(wǎng)絡(luò)應用編程接口(java net),它提供了用于網(wǎng)絡(luò)應用編程的類庫,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(遠程方法激活)機制也是開發(fā)分布式應用的重要手段。
- Java 語言是健壯的:
Java 的強類型機制、異常處理、垃圾的自動收集等是 Java 程序健壯性的重要保證。對指針的丟棄是 Java 的明智選擇。Java 的安全檢查機制使得 Java 更具健壯性。
-
Java語言是安全的:
Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java 提供了一個安全機制以防惡意代碼的攻擊。除了Java 語言具有的許多安全特性以外,Java 對通過網(wǎng)絡(luò)下載的類具有一個安全防范機制(類 ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機制(類 SecurityManager)讓 Java 應用設(shè)置安全哨兵。
-
Java 語言是體系結(jié)構(gòu)中立的:
Java 程序(后綴為 java 的文件)在 Java 平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為 class 的文件),然后可以在實現(xiàn)這個 Java 平臺的任何系統(tǒng)中運行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。
-
Java 語言是可移植的:
這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java 還嚴格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java 系統(tǒng)本身也具有很強的可移植性,Java 編譯器是用 Java 實現(xiàn)的,Java 的運行環(huán)境是用 ANSI C 實現(xiàn)的。
-
Java 語言是解釋型的:
如前所述,Java 程序在 Java 平臺上被編譯為字節(jié)碼格式,然后可以在實現(xiàn)這個 Java 平臺的任何系統(tǒng)中運行。在運行時,Java 平臺中的 Java 解釋器對這些字節(jié)碼進行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運行環(huán)境中。
-
Java 是高性能的:
與那些解釋型的高級腳本語言相比,Java 的確是高性能的。事實上,Java 的運行速度隨著 JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于 C++。
-
Java 語言是多線程的:
在 Java 語言中,線程是一種特殊的對象,它必須由 Thread 類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為 Thread(Runnable) 的構(gòu)造子類將一個實現(xiàn)了 Runnable 接口的對象包裝成一個線程,其二,從 Thread 類派生出子類并重寫 run 方法,使用該子類創(chuàng)建的對象即為線程。值得注意的是 Thread 類已經(jīng)實現(xiàn)了 Runnable 接口,因此,任何一個線程均有它的 run 方法,而 run 方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java 語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機制(關(guān)鍵字為 synchronized)。
-
Java 語言是動態(tài)的:
Java 語言的設(shè)計目標之一是適應于動態(tài)變化的環(huán)境。Java 程序需要的類能夠動態(tài)地被載入到運行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也有利于軟件的升級。另外,Java 中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。
發(fā)展歷史
- 1995 年 5 月 23 日,Java 語言誕生
- 1996 年 1 月,第一個 JDK-JDK1.0 誕生
- 1996 年 4 月,10 個最主要的操作系統(tǒng)供應商申明將在其產(chǎn)品中嵌入 JAVA 技術(shù)
- 1996 年 9 月,約 8.3 萬個網(wǎng)頁應用了 JAVA 技術(shù)來制作
- 1997 年 2 月 18 日,JDK1.1 發(fā)布
- 1997 年 4 月 2 日,JavaOne 會議召開,參與者逾一萬人,創(chuàng)當時全球同類會議規(guī)模之紀錄
- 1997 年 9 月,JavaDeveloperConnection 社區(qū)成員超過十萬
- 1998 年 2 月,JDK1.1 被下載超過 2,000,000次
- 1998 年 12 月 8 日,JAVA2 企業(yè)平臺 J2EE 發(fā)布
- 1999 年 6月,SUN 公司發(fā)布 Java 的三個版本:標準版(JavaSE, 以前是 J2SE)、企業(yè)版(JavaEE 以前是 J2EE)和微型版(JavaME,以前是 J2ME)
- 2000 年 5 月 8 日,JDK1.3 發(fā)布
- 2000 年 5 月 29 日,JDK1.4 發(fā)布
- 2001 年 6 月 5 日,NOKIA 宣布,到 2003 年將出售 1 億部支持 Java 的手機
- 2001 年 9 月 24 日,J2EE1.3 發(fā)布
- 2002 年 2 月 26 日,J2SE1.4 發(fā)布,自此 Java 的計算能力有了大幅提升
- 2004 年 9 月 30 日 18:00PM,J2SE1.5 發(fā)布,成為 Java 語言發(fā)展史上的又一里程碑。為了表示該版本的重要性,J2SE1.5 更名為 Java SE 5.0
- 2005 年 6 月,JavaOne 大會召開,SUN 公司公開 Java SE 6。此時,Java 的各種版本已經(jīng)更名,以取消其中的數(shù)字 "2":J2EE 更名為 Java EE,J2SE 更名為 Java SE,J2ME 更名為 Java ME
- 2006 年 12 月,SUN 公司發(fā)布 JRE6.0
- 2009 年 04 月 20 日,甲骨文 74 億美元收購 Sun,取得 Java 的版權(quán)。
- 2010 年 11 月,由于甲骨文對于 Java 社區(qū)的不友善,因此 Apache 揚言將退出 JCP。
- 2011 年 7 月 28 日,甲骨文發(fā)布 Java7.0 的正式版。
- 2014 年 3 月 18 日,Oracle 公司發(fā)表 Java SE 8。
- 2017 年 9 月 21 日,Oracle 公司發(fā)表 Java SE 9
- 2018 年 3 月 21 日,Oracle 公司發(fā)表 Java SE 10
- 2018 年 9 月 25 日,Java SE 11 發(fā)布
- 2019 年 3 月 20 日,Java SE 12 發(fā)布
Java 開發(fā)工具
Java 語言盡量保證系統(tǒng)內(nèi)存在 1G 以上,其他工具如下所示:
- Linux 系統(tǒng)、Mac OS 系統(tǒng)、Windows 95/98/2000/XP,WIN 7/8系統(tǒng)。
- Java JDK 7、8……
- vscode 編輯器或者其他編輯器。
- IDE:Eclipse、 IntelliJ IDEA、NetBeans 等。
安裝好以上的工具后,我們就可以輸出Java的第一個程序 "Hello World!"