Java
Java(全稱:Java Programming Language)是一門面向對象的程序設計語言,由 Sun Microsystems(昇陽電腦公司)的詹姆斯·高斯林(James Gosling)等人於 1991 年啟動開發,最初代號為 Oak,後於 1995 年 5 月 23 日正式發布並更名為 Java[1]。Java 語言在設計上吸收了 C++ 的諸多優點,同時摒棄了指針、多繼承等複雜特性,強調「一次編寫,到處運行」(Write Once, Run Anywhere)的跨平台能力,通過 Java 虛擬機(JVM)將字節碼解釋或編譯為不同平台上的本地機器碼執行[2]。2010 年,Oracle 公司以約 74 億美元收購 Sun Microsystems,自此 Java 的維護與演進由 Oracle 主導[1]。截至今日,Java 仍是全球使用最廣泛的程式語言之一,運行在超過 730 億台 Java 虛擬機之上,被廣泛應用於企業級後端、雲計算、大數據、Android 移動開發及嵌入式系統等領域[2]。
| Java | |
|---|---|
| 中文名 | Java |
| 英文名 | Java Programming Language |
| 作者 | 詹姆斯·高斯林(James Gosling)等 |
| 開發者 | Sun Microsystems(1991–2010) Oracle Corporation(2010–至今) |
| 首次發布 | 1995年5月23日 |
| 當前版本 | Java SE 26(2026年3月)[2] |
| 運行平台 | 跨平台(JVM) |
| 許可證 | GNU GPL(OpenJDK) Oracle Technology Network License(Oracle JDK) |
| 文件擴展名 | .java、.class、.jar |
| 主要實現 | OpenJDK、Oracle JDK |
歷史
起源與早期發展
Java 的前身是 1991 年 Sun Microsystems 啟動的「Green 計劃」,由詹姆斯·高斯林、派屈克·諾頓(Patrick Naughton)等人組成的小組在加利福尼亞州門羅帕克開發,最初目標是為智能電視、機頂盒等消費類電子產品提供嵌入式程序設計方案[1]。由於 C++ 在嵌入式設備上表現過於複雜且缺乏垃圾回收機制,團隊決定開發一種新語言,最初命名為 Oak。後因 Oak 商標已被註冊,團隊在一次會議中因常飲咖啡而將其更名為 Java(取自印度尼西亞爪哇島,該島盛產咖啡)[1]。1995 年,Sun 公司正式發布 Java 與 HotJava 瀏覽器,展示了 Java Applet 的動態 Web 能力,迅速獲得業界認可[1]。
Oracle 收購與後續演進
2009 年 4 月,Oracle 宣布以 74 億美元收購 Sun Microsystems,交易於 2010 年完成,Java 的智慧財產權與後續開發主導權轉移至 Oracle[1]。收購後,Oracle 繼續推進 Java 的定期發布節奏,並引入長期支持(LTS)版本策略。當前 Java 採用每六個月發布一個新版本的快速迭代模式,其中 LTS 版本(如 Java 17、Java 21)提供至少八年的更新支持,而非 LTS 版本僅提供六個月維護[3]。
技術特性
跨平台性
Java 的核心設計理念之一是跨平台能力。Java 原始碼(.java)首先被編譯為與平台無關的字節碼(.class),再由具體平台上的 Java 虛擬機(JVM)解釋執行或通過即時編譯器(JIT)編譯為本地機器碼。這一機制使得 Java 程序能夠在 Windows、Linux、macOS 及各類嵌入式系統上無需重新編譯即可運行[1]。
面向對象與語言設計
Java 是一門純粹的面向對象程式語言,所有代碼必須位於類(Class)中。它支持封裝、繼承與多態,但僅允許單根繼承(一個類只能直接繼承一個父類),通過接口(Interface)機制實現多繼承的功能替代[1]。Java 捨棄了 C++ 中的指針運算、運算符重載與手動內存管理,降低了程序出錯概率,並提供了強類型檢查與異常處理機制以增強健壯性[1]。
自動內存管理
Java 內置垃圾回收器(Garbage Collector, GC),可自動追蹤並回收程序中不再被引用的對象所占用的內存空間,開發者無需手動釋放內存。這一特性顯著減少了內存洩漏與懸空指針等問題,但也要求開發者關注 GC 調優與內存溢出(OutOfMemoryError)風險[1]。
平台體系
Java 平台由 Java 程式語言、Java 虛擬機、Java 類庫及各類工具組成,主要分為三個版本:
Java SE
Java Platform, Standard Edition(Java SE,曾稱 J2SE)是 Java 平台的標準版,包含核心類庫、Java 虛擬機(JVM)、Java 編譯器(javac)及基礎工具,是開發桌面應用與伺服器端程序的基礎[1]。當前主流的 Java SE 實現包括 Oracle 官方發布的 Oracle JDK 與開源的 OpenJDK 項目。
Java EE / Jakarta EE
Java Platform, Enterprise Edition(Java EE,曾稱 J2EE)面向企業級應用開發,提供 Servlet、EJB、JPA、JMS 等用於構建大規模分布式系統的擴展規範。2017 年,Oracle 將 Java EE 移交至 Eclipse 基金會,隨後更名為 Jakarta EE,以避免與 Oracle 商標衝突[1]。
Java ME
Java Platform, Micro Edition(Java ME,曾稱 J2ME)是針對嵌入式與行動裝置的精簡版本,提供有限的類庫與輕量級虛擬機,曾廣泛應用於早期功能手機與物聯網終端[1]。
版本演進
1996 年 1 月,首個正式版本 JDK 1.0 發布。此後 Java 經歷了多次重大更新:2004 年發布的 J2SE 5.0(後改稱 Java SE 5)引入泛型、枚舉、註解與增強 for 循環;2014 年發布的 Java SE 8 帶來 Lambda 表達式與 Stream API,成為歷史上使用最廣泛的 LTS 版本之一;2017 年發布的 Java SE 9 引入模塊系統(JPMS),將龐大的 JDK 拆分為可組合的模塊[1]。2023 年發布的 Java SE 21 作為 LTS 版本,加入了虛擬線程(Virtual Threads)、分代 ZGC 等特性,進一步優化了高並發場景下的性能表現[2]。
應用領域
Java 在企業級後端開發中占據主導地位,大量銀行、電信與電商平台的核心系統基於 Java EE/Jakarta EE 或 Spring 生態構建。在行動網際網路領域,Android 作業系統原生支持 Java 作為應用開發語言(後逐步轉向 Kotlin)。此外,Java 在大數據生態(如 Apache Hadoop、Apache Spark)、雲計算中間件及科學計算領域亦有廣泛應用[2]。