天天看點

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

原文位址: http://www.work100.net/training/java-intro.html 更多教程: 光束雲 - 免費課程

Java簡介

序号 文内章節 視訊
1 概述 -
2 主要特性
3 發展曆史
4 開發工具

請參照如上

章節導航

進行閱讀

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

作為開發工具,理由不必細說,誰用誰知道!

下一篇:

開發環境配置
如果對課程内容感興趣,可以掃碼關注我們的

公衆号

QQ群

,及時關注我們的課程更新
Java入門 - 語言基礎 - 01.Java簡介Java簡介
Java入門 - 語言基礎 - 01.Java簡介Java簡介