本帖最後由 蕭澧邦 於 2017-9-23 13:08 編輯
Java是一種廣泛使用的電腦程式設計語言,擁有跨平台、物件導向、泛型程式設計的特性,廣泛應用於企業級Web應用開發和行動應用開發。
任職於昇陽電腦的詹姆斯·高斯林等人於1990年代初開發Java語言的雛形,最初被命名為Oak,目標設定在家用電器等小型系統的程式語言,應用在電視機、電話、鬧鐘、烤麵包機等家用電器的控制和通訊。由於這些智慧型家電的市場需求沒有預期的高,Sun公司放棄了該項計劃。隨著1990年代網際網路的發展,Sun公司看見Oak在網際網路上應用的前景,於是改造了Oak,於1995年5月以Java的名稱正式釋出。Java伴隨著網際網路的迅猛發展而發展,逐漸成為重要的網路程式語言。
Java程式語言的風格十分接近C++語言。繼承了C++語言物件導向技術的核心,Java捨棄了C++語言中容易引起錯誤的指標,改以參照取代,同時移除原C++與原來運算子多载,也移除多重繼承特性,改用介面取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型程式設計、類型安全的列舉、不定長參數和自動裝/拆箱特性。昇陽電腦對Java語言的解釋是:「Java程式語言是個簡單、物件導向、分散式、解釋性、健壯、安全與系統無關、可移植、高效能、多執行緒和動態的語言」
Java不同於一般的編譯語言或直譯語言。它首先將原始碼編譯成位元組碼,然後依賴各種不同平台上的虛擬機器來解釋執行位元組碼,從而實現了「一次編寫,到處執行」的跨平台特性。在早期JVM中,這在一定程度上降低了Java程式的執行效率。但在J2SE1.4.2釋出後,Java的執行速度有了大幅提升。
與傳統型態不同,Sun公司在推出Java時就將其作為開放的技術。全球數以萬計的Java開發公司被要求所設計的Java軟體必須相互相容。「Java語言靠群體的力量而非公司的力量」是 Sun公司的口號之一,並獲得了廣大軟體開發商的認同。這與微軟公司所倡導的注重精英和封閉式的模式完全不同,此外,微軟公司後來推出了與之競爭的.NET平台以及模仿Java的C#語言。後來Sun公司被甲骨文公司併購,Java也隨之成為甲骨文公司的產品。
"現時,行動作業系統Android大部分的代碼採用Java 程式設計語言編程。"
早期的Java
Java的發明人詹姆斯·高斯林
Duke,Java語言的吉祥物
語言最開始只是Sun電腦(Sun MicroSystems)公司在1990年12月開始研究的一個內部項目。Sun電腦公司的一個叫做派屈克·諾頓的工程師被公司自己開發的C++和C語言編譯器搞得焦頭爛額,因為其中的API極其難用。派屈克決定改用NeXT,同時他也獲得了研究公司的一個叫做「Stealth計劃」的項目的機會。
「Stealth計劃」後來改名為「Green計劃」,詹姆斯·高斯林和麥克·舍林丹也加入了派屈克的工作小組。他們和其他幾個工程師一起在加利福尼亞州門羅帕克市沙丘路的一個小工作室裡面研究開發新技術,瞄準下一代智慧型家電(如微波爐)的程式設計,Sun公司預料未來科技將在家用電器領域大顯身手。團隊最初考慮使用C++語言,但是很多成員包括Sun的首席科學家比爾·喬伊,發現C++和可用的API在某些方面存在很大問題。
工作小組使用的是嵌入式系統,可以用的資源極其有限。很多成員發現C++太複雜以至很多開發者經常錯誤使用。他們發現C++缺少垃圾回收系統,還有可移植的安全性、分布程式設計、和多執行緒功能。最後,他們想要一種易於移植到各種裝置上的平台。
根據可用的資金,喬伊決定開發一種集C語言和Mesa語言大成的新語言,在一份報告上,喬伊把它叫做「未來」,他提議Sun公司的工程師應該在C++的基礎上,開發一種物件導向的環境。最初,高斯林試圖修改和擴展C++的功能,他自己稱這種新語言為C++ ++ --,但是後來他放棄了。他將要創造出一種全新的語言,被他命名為「Oak」(橡樹),以他的辦公室外的橡樹命名。
就像很多開發新技術的秘密工程一樣,工作小組沒日沒夜地工作到了1993年的夏天,他們能夠演示新平台的一部分了,包括Green操作系統,Oak的程式設計語言,類庫及其硬體。最初的嘗試是面向一種類PDA裝置,被命名為Star7,這種裝置有鮮豔的圖形介面和被稱為「Duke」的智慧型代理來幫助用戶。1992年12月3日,這台裝置進行了展示。
同年11月,Green計劃被轉化成了「FirstPerson有限公司」,一個Sun公司的全資子公司,團隊也被重新安排到了帕洛阿爾托。FirstPerson團隊對建造一種高度互動的裝置感興趣,當時代華納發布了一個關於電視機上盒的徵求提議書時(Request for proposal),FirstPerson改變了他們的目標,作為對徵求意見書的響應,提出了一個機上盒平台的提議。但是有線電視業界覺得FirstPerson的平台給予用戶過多的控制權,因此FirstPerson的投標敗給了SGI。與3DO公司的另外一筆關於機上盒的交易也沒有成功,由於他們的平台不能在電視工業產生任何效益,公司被併回Sun公司。
Java和網際網路
1994年6月,在經歷了一場歷時三天的腦力激盪的討論後,約翰·蓋吉、詹姆斯·高斯林、比爾·喬伊、派屈克·諾頓、韋恩·羅斯因和埃里克·斯庫米,團隊決定再一次改變了努力的目標,這次他們決定將該技術應用於全球資訊網。他們認為隨著Mosaic瀏覽器的到來,網際網路正在向同樣的高度互動的遠景演變,而這一遠景正是他們在有線電視網中看到的。作為原型,派屈克·諾頓寫了一個小型全球資訊網瀏覽器,WebRunner,後來改名為HotJava[12]。
1994年10月,HotJava和Java平台為公司高層進行演示。1994年,Java 1.0a版本已經可以提供下載,但是Java和HotJava瀏覽器的第一次公開發布卻是在1995年3月23日SunWorld大會上進行的。昇陽公司的科學指導約翰·蓋吉宣告Java技術。這個釋出是與網景公司的執行副總裁馬克·安德森的驚人釋出一起進行的,宣布網景將在其瀏覽器中包含對Java的支援。1996年1月,昇陽公司成立了Java業務集團,專門開發Java技術。
Java和「Java」
由於商標搜尋顯示,Oak已被一家顯示卡製造商註冊。於是同年,Oak被改名為Java。當使用十六進位編輯器開啟由Java原始碼編譯出的二進位檔案(.class檔案)的話,最前面的32位元將顯示為CA FE BA BE,即詞組「CAFE BABE」(咖啡屋寶貝)。
Java近況
JSPX網頁的概念
在流行幾年之後,Java在瀏覽器中的地位被逐步侵蝕。它在簡單互動性動畫方面的用途已經完全被Adobe公司的Flash排擠,2005年Java傾向只被用於雅虎遊戲那樣的更為複雜的應用程式。Java同時遭受到來自微軟的反對,他們決定在新版本的Internet Explorer和Windows中不再附帶Java平台。
與此相反。在全球資訊網的伺服器端和手持裝置上,Java變得更加流行。很多網站在後端使用JSP和其他的Java技術。
在桌面系統上,獨立的Java程式還是相對少見,這是因為Java平台的執行開銷較大,而許多人的電腦上沒有安裝Java,由於網路頻寬在以前較小,下載Java曾經是個耗時的事情。但是隨著電腦計算能力、網路頻寬在10年中取得了很大的進步,同時虛擬機器和編譯器的品質得到了提高,許多應用程式得到了廣泛的使用,包括:
{
開源軟體:
NetBeans和Eclipse等軟體開發工具
Android作業系統
JEdit
Azureus BitTorrent用戶端。
JNode作業系統
Apache軟體基金會的Ant、Derby、Hadoop、Jakarta、POI和Tomcat
JBoss和GlassFish應用伺服器
商業軟體:
EIOffice(永中Office)
Minecraft
純Java 3D遊戲合金戰士Chrome
IBM Websphere、ColdFusion和WebLogic
IntelliJ IDEA
還有許多用Java寫的軟體,可以在http://www.java.com 找到。在以下網頁可以看到非常多用Java寫的程式:http://java.sun.com/products/ 下面有大量用Java Swing開發的桌面Java程式 http://java.sun.com/products/jfc/tsc/sightings/ 目前Java提供以下三個版本:
Java Platform, Enterprise Edition(Java EE:Java平台企業版)
Java Platform, Standard Edition(Java SE:Java平台標準版)
Java Platform, Micro Edition(Java ME:Java平台微型版)
Java Platform, Card Edition
}
出處:https://zh.wikipedia.org/wiki/Java |