Java是一種可以撰寫跨平台應用軟體的物件導向的程式語言,由當時任職昇陽電腦的James Gosling等人於1990年代初開發。它最初被命名為Oak,目標設定在家用電器等小型系統的程式設計語言,來解決諸如電視機、電話、鬧鐘、烤麵包機等家用電器的控制和通訊問題。由於這些智慧型家電的市場需求沒有預期的高,Sun放棄了該項計劃。就在Oak幾近失敗之時,隨著網際網路的發展,Sun看到了Oak在電腦網路上的廣闊應用前景,於是改造了Oak,在1995年5月以「Java」的名稱正式發佈了。Java伴隨著網際網路的迅猛發展而發展,逐漸成為重要的網路程式語言。
Java程式語言的風格十分接近C++語言。繼承了C++ 語言物件導向技術的核心,Java捨棄了C++語言中容易引起錯誤的指標(以參照取代)、operator overloading、多重繼承(以介面取代)等特性,增加了垃圾回收器功能用於回收不再被參照的物件所佔據的內部記憶體空間。在Java SE 1.5版本中Java又引入了Generic Programming、型別安全的列舉、不定長參數和自動裝/拆箱等語言特性。
Java不同於一般的編譯執行電腦語言和解釋執行電腦語言。它首先將原始碼編譯成bytecode,然後依賴各種不同平台上的虛擬機器來解釋執行bytecode,從而實作了「一次編譯、到處執行」的跨平台特性。不過,這同時也在一定程度上降低了Java程式的執行效率。但在J2SE1.4.2發佈後,Java的執行速度有了大幅提升。
與傳統程式不同Sun公司在推出Java之際就將其作為一種開放的技術。全球數以萬計的Java開發公司被要求所設計的Java軟體必須相互相容。「Java語言靠群體的力量而非公司的力量」是Sun公司的口號之一,並獲得了廣大軟體開發商的認同。這與微軟公司所倡導的注重精英和封閉式的模式完全不同。
Sun公司對Java程式語言的解釋是:Java程式語言是個簡單、物件導向、分佈式、解釋性、健壯、安全與系統無關、可移植、高性能、多執行緒和動態的語言
Java之所以被開發,是要達到以下五個目的:
應當使用物件導向程式設計方法學
應當允許同一程式在不同的電腦平台執行
應當包括內建的對電腦網路的支援
應當被設計成安全地執行遠端程式碼
應當易於使用,並借鑑以前那些物件導向語言(如C++)的長處。
平台:跨平台; 授權類型:GNU General Public License / Java Community Process
資料來源:https://zh.wikipedia.org/zh-tw/Java_(programming_language)