Java(英式發音[ˈʤɑːvə],美式發音[ˈʤɑvə])是一種廣泛使用的電腦程式設計語言,擁有跨平台、物件導向、泛型程式設計的特性,廣泛應用於企業級Web應用開發和流動應用開發。
任職於太陽電腦的詹姆斯·高斯林等人於1990年代初開發Java語言的雛形,最初被命名為Oak,目標設置在家用電器等小型系統的程式語言,應用在電視機、電話、鬧鐘、烤麵包機等家用電器的控制和通訊。由於這些智慧型家電的市場需求沒有預期的高,太陽電腦電腦系統(Sun公司)放棄了該項計劃。隨着1990年代互聯網的發展,Sun公司看見Oak在互聯網上應用的前景,於是改造了Oak,於1995年5月以Java的名稱正式釋出。Java伴隨着互聯網的迅猛發展而發展,逐漸成為重要的網絡程式語言。
Java程式語言的風格十分接近C++語言。繼承了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和互聯網
1994年6月,在同約翰·蓋吉、詹姆斯·高斯林、比爾·喬伊、帕特里克·諾頓、韋恩·羅斯因和埃里克·施密特經歷了一場歷時三天的頭腦風暴後,團隊決定再一次改變努力的目標,這次他們決定將該技術應用於萬維網。他們認為隨着Mosaic瀏覽器的到來,互聯網正在向同樣的高度互動的遠景演變,而這一遠景正是他們在有線電視網中看到的。作為原型,帕特里克·諾頓寫了一個小型萬維網瀏覽器,WebRunner,後來改名為HotJava[13]。
1994年10月,HotJava和Java平台為公司高層進行演示。1994年,Java 1.0a版本已經可以提供下載,但是Java和HotJava瀏覽器的第一次公開發布卻是在1995年3月23日SunWorld大會上進行的。昇陽公司的科學指導約翰·蓋吉宣告Java技術。這個釋出是與網景公司的執行副總裁馬克·安德森的驚人釋出一起進行的,宣佈網景將在其瀏覽器中包含對Java的支援。1996年1月,Sun公司成立了Java業務集團,專門開發Java技術。
在流行幾年之後,Java在瀏覽器中的地位被逐步侵蝕。它在簡單互動性動畫方面的用途已經完全被Adobe公司的Flash排擠,2005年Java傾向只被用於雅虎遊戲那樣的更為複雜的應用程式。Java同時遭受到來自微軟的反對,他們決定在新版本的Internet Explorer和Windows中不再附帶Java平台。
與此相反,在萬維網的伺服器端和手持裝置上,Java變得更加流行。很多網站在後端使用JSP和其他的Java技術。