Java是一種電腦程式設計語言,擁有跨平台、物件導向、泛型程式設計的特性。 任職於昇陽電腦的詹姆斯·高斯林(James Gosling)等人於1990年代初開發Java語言的雛形,最初被命名為Oak,目標設定在家用電器等小型系統的程式語言,應用在電視機、電話、鬧鐘、烤麵包機等家用電器的控制和通訊。由於這些智慧型家電的市場需求沒有預期的高,昇陽公司放棄了該項計劃。隨著1990年代網際網路的發展,昇陽公司看見Oak在網際網路上應用的前景,於是改造了Oak,於1995年5月以Java的名稱正式發布。Java伴隨著網際網路的迅猛發展而發展,逐漸成為重要的網路程式語言。
Java程式語言的風格十分接近C++語言。繼承了C++語言物件導向技術的核心,Java捨棄了C++語言中容易引起錯誤的指標,改以參照取代,同時移除原C++與原來運算子多载,也移除多重繼承特性,改用介面取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型程式設計、類型安全的枚舉、不定長參數和自動裝/拆箱特性。昇陽公司對Java語言的解釋是:「Java程式語言是個簡單、物件導向、分布式、解釋性、健壯、安全與系統無關、可移植、高性能、多執行緒和動態的語言」
Java不同於一般的編譯語言和直譯語言。它首先將原始碼編譯成位元組碼(bytecode),然後依賴各種不同平台上的虛擬機來解釋執行位元組碼,從而實現了「一次編譯、到處執行」的跨平台特性。在早期JVM中,這在一定程度上降低了Java程序的運行效率。但在J2SE1.4.2發布後,Java的執行速度有了大幅提升。
與傳統型態不同昇陽公司在推出Java時就將其作為開放的技術。全球數以萬計的Java開發公司被要求所設計的Java軟體必須相互兼容。「Java語言靠群體的力量而非公司的力量」是昇陽公司的口號之一,並獲得了廣大軟體開發商的認同。這與微軟公司所倡導的注重精英和封閉式的模式完全不同,此外,微軟公司後來推出了與之競爭的.NET平台以及模仿Java的C#語言。後來昇陽公司被甲骨文公司併購,Java也隨之成為甲骨文公司的產品。 |