本Java教程為實戰型Java教程,由動力節點-Java研究院出品,適合Java編程絕對零基礎的學員閱讀;書中理論與實踐相結合,采用一個知識點對應一個經典小案例,深入淺出;本Java教程對知識點的掌握程度進行了三個級別的描述:了解、理解、掌握,了解的內容了解一下即可,掌握的內容不但要求理解,而且能夠將代碼實現;強調一下,本書對知識點不會進行學術性研究,比較偏向實戰;通過本Java教程的學習,可以助您快速入門Java語言。
在此我們先看一個簡單的Java小例子:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("動力節點-口口相傳的Java黃埔軍校");
}
}
有很多學員看到這個小例子,就開始聯想,我英語不是很好能學會嗎?請大家不要有這樣的顧慮,如果看教程比較吃力,建議大家和動力節點Java視頻配合著看,這樣效果會更好,咱們言歸正傳,直奔主題吧:
Java 是由 Sun Microsystems 在 1995 年首先發布的編程語言和計算平臺。Java 是一項用于開發應用程序的技術,可以讓 Web 變得更有意思和更實用。有許多應用程序和 Web 站點只有在安裝 Java 后才能正常工作,而且這樣的應用程序和 Web 站點日益增多。Java 快速、安全、可靠。從筆記本電腦到數據中心,從游戲控制臺到科學超級計算機,從手機到互聯網,Java 無處不在!
⒈ JavaSE(J2SE)(Java2 Platform Standard Edition,java平臺標準版)
⒉ JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平臺企業版)
⒊ JavaME(J2ME)(Java 2 Platform Micro Edition,java平臺微型版)。
2006 年,SUN 公司在 JavaOne 大會上,宣布在 GNU 通用公共協議(GPL)的構架下向開源世界貢獻 Java 平臺,這次開放的 Java 版本包括了其標準版(Standard)、微型版(Micro)以及企業版(Enterprise)。這是一個具有 “歷史性意義” 的改變。
Java語言的語法與C語言和C++語言很接近,使得大多數程序員很容易學習和使用。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地,Java語言不使用指針,而是引用。并提供了自動的廢料收集,使得程序員不必為內存管理而擔憂。
Java語言提供類、接口和繼承等面向對象的特性,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現機制(關鍵字為implements)。Java語言全面支持動態綁定,而C++語言只對虛函數使用動態綁定。總之,Java語言是一個純的面向對象程序設計語言。
Java語言支持Internet應用的開發,在基本的Java應用編程接口中有一個網絡應用編程接口(java net),它提供了用于網絡應用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠程方法激活)機制也是開發分布式應用的重要手段。
Java的強類型機制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。
Java通常被用在網絡環境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網絡下載的類具有一個安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節代碼檢查,并提供安全管理機制(類SecurityManager)讓Java應用設置安全哨兵。
Java程序(后綴為java的文件)在Java平臺上被編譯為體系結構中立的字節碼格式(后綴為class的文件),然后可以在實現這個Java平臺的任何系統中運行。這種途徑適合于異構的網絡環境和軟件的分發。
這種可移植性來源于體系結構中立性,另外,Java還嚴格規定了各個基本數據類型的長度。Java系統本身也具有很強的可移植性,Java編譯器是用Java實現的,Java的運行環境是用ANSI C實現的。
如前所述,Java程序在Java平臺上被編譯為字節碼格式,然后可以在實現這個Java平臺的任何系統中運行。在運行時,Java平臺中的Java解釋器對這些字節碼進行解釋執行,執行過程中需要的類在聯接階段被載入到運行環境中。
與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-In-Time)編譯器技術的發展越來越接近于C++。
在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創建。通常有兩種方法來創建線程:其一,使用型構為Thread(Runnable)的構造子類將一個實現了Runnable接口的對象包裝成一個線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創建的對象即為線程。值得注意的是Thread類已經實現了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執行,并提供多線程之間的同步機制(關鍵字為synchronized)。
Java語言的設計目標之一是適應于動態變化的環境。Java程序需要的類能夠動態地被載入到運行環境,也可以通過網絡來載入所需要的類。這也有利于軟件的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。
詹姆斯·高斯林(James Gosling) 在他的許多機頂盒項目之一發起的Java語言項目在1991年6月使用。高斯林的辦公室放著一棵橡樹之后,最初稱為橡樹(Oak ),也最后被定名為Green,后來被改名為:Java。
Sun 在1995年第一個公開發布 Java1.0。它寫一次,隨處可運行(WORA),提供無成本的運行時間上流行的平臺。
2006年11月13日,Sun 在GNU通用公共許可證(GPL)的條款公布 Java作為自由和開放源碼軟件。
2007年5月8日,Sun 完成了這個過程,使所有的Java核心代碼,免費和開源,除了代碼的一小部分,其中Sun并沒有擁有版權。
Java語言盡量保證系統內存在1G以上,其他工具如下所示:
⒈ Linux 系統、Mac OS 系統、Windows 95/98/2000/XP,WIN 7/8系統。
⒉ Java JDK 7、8……
⒊ Notepad 編輯器或者其他編輯器。
⒋ IDE:Eclipse
Java 的主要發行版本及其發行日期如下:
? JDK 1.0(1996 年 1 月 23 日)
? JDK 1.1(1996 年 2 月 19 日)
? J2SE 1.2(1998 年 12 月 8 日)
? J2SE 1.3(2000 年 5 月 8 日)
? J2SE 1.4(2002 年 2 月 6 日)
? J2SE 5.0(2004 年 9 月 30 日)
? Java SE 6(2006 年 12 月 11 日)
? Java SE 7(2011 年 7 月 28 日)
? Java SE 8(2014 年 3 月 18 日)
? Java SE 9(2017 年 9 月 21 日)
? Java SE 10(2018 年 3 月 20 日)
? Java SE 11(2018 年 9 月 25 日)
? Java SE 12(2019 年 3 月 19 日)
? Java SE 13(2019 年 9 月 17 日)
? Java SE 14(2020 年 3 月 17 日)
從互聯網到企業平臺,Java是應用最廣泛的編程語言,原因在于:
⒈ Java是基于JVM虛擬機的跨平臺語言,一次編寫,到處運行;
⒉ Java程序易于編寫,而且有內置垃圾收集,不必考慮內存管理;
⒊ Java虛擬機擁有工業級的穩定性和高度優化的性能,且經過了長時期的考驗;
⒋ Java擁有最廣泛的開源社區支持,各種高質量組件隨時可用。
Java語言常年霸占著三大市場:
⒈ 互聯網和企業應用,這是Java EE的長期優勢和市場地位;
⒉ 大數據平臺,主要有Hadoop、Spark、Flink等,他們都是Java或Scala(一種運行于JVM的編程語言)開發的;
⒊ Android移動平臺。
這意味著Java擁有最廣泛的就業市場。