Java SE 6 技術手冊

什麼是 Java

1.1 什麼是 Java

在不同的時間點上,Java 這個名詞有著不同的意義,要瞭解什麼是 Java,從一些歷史性的資料上,您可以對 Java 的角色有所瞭解。

Java 最早是 Sun 公司(Sun Microsystems Inc.)「綠色專案」(Green Project)中撰寫 Star7 應用程式的一個程式語言,當時的名稱不是 Java,而是取名為 Oak。

綠色專案開始於 1990 年 12 月,由 Patrick Naughton、Mike Sheridan 與 James Gosling 主持,目的是希望構築出下一波電腦應用的趨勢並加以掌握,他們認為下一波電腦應用的趨勢將會集中在消費性數位產品(像是今日的 PDA、手機等消費性電子商品)的使用上,在 1992 年 9 月 3 日 Green Team 專案小組展示了 Star7 手持設備,這個設備具備了無線網路連接、5 吋的 LCD 彩色螢幕、PCMCIA 介面等功能,而 Oak 在綠色專案中的目的,是用來撰寫 Star7 上應用程式的程式語言。

Oak 名稱的由來,是因為 James Gosling 的辦公室窗外有一顆橡樹(Oak),就順手取了這個名稱,但後來發現 Oak 名稱已經被註冊了,工程師們邊喝咖啡邊討論著新的名稱,最後靈機一動而改名為您所常聽到的 Java。

全球資訊網(World Wide Web)興起,Java Applet成為網頁互動技術的代表。

1993 年第一個全球資訊網瀏覽器 Mosaic 誕生,James Gosling 認為網際網路與 Java 的一些特性不謀而合,利用 Java Applet 在瀏覽器上展現互動性的媒體,在當時而言,對人們的視覺感官是一種革命性的顛覆,Green Team 仿照了 Mosaic 開發出一個以 Java 技術為基礎的瀏覽器 WebRunner(原命名為BladeRunner),後來改名為 HotJava,雖然 HotJava 只是一個展示性的產品,但它使用 Java Applet 展現的多媒體效果馬上吸引許多人的注意。

1995 年 5 月 23 日,Java Development Kits(當時的JDK全名)1.0a2 版本正式對外發表,而在 1996 年 Netscape Navigator 2.0 也正式支援 Java,Microsoft Explorer 亦開始支援 Java,從此 Java 在網際網路的世界中逐漸風行起來,雖然 Star7 產品並不被當時的消費性市場所接受,綠色專案面臨被裁撤的命運,然而全球資訊網(World Wide Web)的興起卻給了 Java 新的生命與舞台。

JDK所附的Java Applet範例

圖1.1. JDK 所附的 Java Applet 範例(jdk 目錄\demo\applets\MoleculeViewer\ example1.html)

Java 是一個更簡單的物件導向(Object-Oriented)程式語言,具有更高的跨平台可能性。 Java 是一個支援物件導向觀念的程式語言,在使用上比 C++ 更為簡單,它限制或簡化了 C++ 語言在開發程式時的一些功能,雖然犧牲了某些存取或彈性,但讓開發人員避免開發軟體時可能發生的錯誤,並讓程式語言本身使用上更為方便,而 Java 所撰寫出來的程式在不同的平台間具有更高的可攜性,對於「撰寫一次,到處執行」(Write Once, Run Anywhere)這樣的夢想,Java 提供了更高的可能性。

Java可以代表程式語言,但在今日,更多時候代表了軟體開發的架構。

Java 的開發者版本在發表時是以 Java Development Kits 名稱發表,簡稱 JDK,到 J2SE 5.0(Java 2 Platform Standard Edition 5.0)時的 JDK,稱為 J2SE Development Kit 5.0,從 Java SE 6(Java Platform, Standard Edition 6)開始的 JDK6 則稱之為 Java SE Development Kit 6,也就是不再像以前 Java 2 帶有 "2" 這個號碼,版本號 6 或 1.6.0 都使用,6 是產品版本(product version),而 1.6.0 是開發者版本(developer version)。

JDK 除了提供撰寫Java程式時所必要的編譯、執行、除錯等工具之外,更搭配有越來越豐富的 API(Application Programming Interface),隨著應用範圍的越來越廣,Java 演化出三個不同領域的應用平台:Java SE、Java EE 與 Java ME(在這之前的舊名稱是 J2SE、J2EE 與 J2ME)。

Java 不再只是單純的程式語言加上 API 文件庫的組成,更提供開發人員在各個領域開發軟體時,一種依循的標準與框架(Framework)工具。 總而言之,隨著時間的推演,Java 這個名詞不再只是表示一個程式語言,而是一種開發軟體的平台,更進一步的也是一種開發軟體時的標準與架構的統稱,事實上語言在整個 Java 的藍圖中只不過是一個極小的部份,學習 Java 本身也不僅僅在於學習如何使用它的語法,更多的時候是在學習如何應用Java所提供的資源與各種標準,以開發出架構更好、更容易維護的軟體。

良葛格的話匣子 在 Design Patterns Elements of Reusable Object-Oriented Software 書中對「框架」作出的解釋是:框架就是一組互相合作的類別組成,它們為特定類型的軟體開發提供了一個可以重複使用的設計。