Java入門 - 語言基礎 - 01.Java簡介

光束雲 發佈 2020-01-22T04:39:53+00:00

由James Gosling 和同事們共同研發,並在1995年正式推出。IntelliJ IDEA 是收費軟體,在2009年推出了免費的社區開源版本,不過商用還是需要收費的。

原文地址:http://www.work100.net/training/java-intro.html

更多教程:http://www.work100.net/training/index

Java簡介


1.概述

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。

2.主要特性


簡單

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 中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。

3.發展歷史

  • 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 發布

4.開發工具

作為一名 Java 程序開發人員,可以的選擇集成開發環境 IDE(Integrated Development Environment) 非常多,這得益於 Java 是一門開源語言。

  • 有開源免費的
  • 有商用收費的

如何選擇一款適合自己的集成開發環境,亦或說選擇一款符合自己項目開發需要的集成開發環境,如果選擇得當,那麼就能夠使得開發工作事半功倍;否則事倍功半。

免費開源Eclipse

Eclipse 最初是由 IBM 公司開發的替代商業軟體 Visual Age for Java的下一代 IDE 開發環境,2001年11月貢獻給開源社區,現在它由非營利軟體供應商聯盟 Eclipse 基金會(Eclipse Foundation)管理。Eclipse 是一個開放原始碼的、基於 Java 的可擴展開發平台。就其本身而言,它只是一個框架和一組服務,用於通過插件組件構建開發環境。幸運的是 Eclipse 附帶了一個標準的插件集,包括 Java 開發工具(Java Development Tools,JDT)。

Eclipse 是著名的跨平台的自由集成開發環境(IDE)。最初主要用來 Java 語言開發,但是目前亦有人通過插件使其作為其他計算機語言比如 C++、PHP、Python 等語言的開發工具。Eclipse 的本身只是一個框架平台,但是眾多插件的支持使得 Eclipse 擁有其他功能相對固定的IDE軟體很難具有的靈活性。許多軟體開發商以 Eclipse 為框架開發自己的 IDE。

商用收費MyEclipse

MyEclipse 是 Eclipse 的插件,也是一款功能強大的 J2EE 集成開發環境,由 Genuitec 公司發布,它是商用收費的。

MyEclipse 是對 Eclipse IDE 的擴展,利用它可以在資料庫和 JavaEE 的開發、發布以及應用程式伺服器的整合方面極大的提高工作效率。它是功能豐富的 JavaEE 集成開發環境,包括了完備的編碼、調試、測試和發布功能,完整支持HTML、Struts、JSP、CSS、Javascript、SQL,Hibernate,Spring。

Oracle公司免費的NetBeans

NetBeans 是Sun公司(2009年被甲骨文收購)在2000年創立的開放原始碼的面向開發人員和客戶社區的集成開發環境,旨在構建世界級的 Java IDE。

NetBeans 當前可以在Solaris、Windows、Linux和Macintosh OS X平台上進行開發,並在SPL(Sun公用許可)範圍內使用,是一個屢獲殊榮的集成開發環境。NetBeans 包括開源的開發環境和應用平台,NetBeans IDE 可以使開發人員利用 Java 平台能夠快速創建Web、企業、桌面以及移動應用程式,NetBeans IDE 目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C /C++等開發語言。

NetBeans 項目由一個活躍的開發社區提供支持, NetBean 開發環境提供了豐富的產品文檔和培訓資源以及大量的第三方插件。

IntelliJ IDEA

IntelliJ IDEA 是一款綜合的 Java 編程環境,被許多開發人員和行業專家譽為市場上最好的 IDE。

它提供了一系列最實用的的工具組合:

  • 智能編碼輔助和自動控制
  • 支持 J2EE,Ant,JUnit,SVN 和 Git 集成
  • 非平行的編碼檢查和創新的 GUI 設計器

IDEA 把 Java 開發人員從一些耗時的常規工作中解放出來,顯著地提高了開發效率。具有運行更快速,生成更好的代碼;持續的重新設計和日常編碼變得更加簡易,與其它工具的完美集成;很高的性價比等特點。

IntelliJ IDEA 是收費軟體,在2009年推出了免費的社區開源版本,不過商用還是需要收費的。

作為一個資深的 Java 開發工程師,我負責任的向大家推薦 IntelliJ IDEA 作為開發工具,理由不必細說,誰用誰知道!

關鍵字: