首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java 語言特性與發展史:從 Oak 到現代企業級開發平台

     編輯:Java 程式設計入門

Java 語言特性與發展史:從 Oak 到現代企業級開發平台

Java 由 Sun Microsystems(現 Oracle)於 1995 年正式發布,由 James Gosling 團隊開發。歷經 20 多年演進,已成為企業級開發、Android 應用、大數據處理、雲端微服務的核心技術棧。

Java 三大平台版本

平台舊稱適用領域核心技術
Java SEJ2SE桌面應用、基礎 API、核心語言JVM、基礎類別庫、JDBC、集合框架
Java EEJ2EE企業級分散式系統、Web 服務Servlet、JPA、EJB、JMS、CDI、JAX-RS
Java MEJ2ME嵌入式裝置、物聯網、功能型手機精簡 JVM、MIDP、CLDC

2006 年 JavaOne 大會後,官方移除版本名稱中的「2」,統一為 Java SE/EE/ME。

Java 十大核心特性

1. 簡單性

  • 語法接近 C/C++,學習曲線平緩
  • 移除 C++ 複雜特性:運算子多載、多重繼承、自動強制轉型、指標操作
  • 採用參考取代指標,提供自動垃圾回收(GC),開發者無需手動記憶體管理

2. 物件導向

  • 提供類別、介面、繼承、多型、封裝、抽象完整 OOP 支援
  • 單一繼承(類別)+ 多重實作(介面)設計
  • 全面支援動態繫結,非僅限虛擬函式

3. 分散式

  • 核心 API 內建網路程式支援:java.net 套件提供 URL、URLConnection、Socket、ServerSocket
  • RMI(遠端方法呼叫)支援分散式物件呼叫
  • 微服務架構下配合 Spring Cloud、gRPC 等現代框架更強大

4. 健壯性

  • 強型別機制:編譯期與執行期雙重檢查
  • 完善例外處理機制:try-catch-finally、多重 catch、try-with-resources
  • 自動記憶體管理:GC 避免記憶體洩漏與懸空指標

5. 安全性

  • 類別載入器機制:隔離本地與網路下載類別命名空間
  • 位元碼驗證器:執行前檢查惡意碼、堆疊溢位、型別安全
  • 安全管理員:細粒度權限控制(檔案、網路、系統屬性存取)

6. 架構中立與可攜性

  • 原始碼編譯為平台無關的位元碼(.class),在任何實作 JVM 的平台執行
  • 嚴格規定基本類型長度(int 永遠 32 位、float 永遠 32 位 IEEE 754 等)
  • JVM 本身以 ANSI C 實作,極易移植至新硬體架構

7. 解譯執行與高效能

  • 位元碼由 JVM 解譯執行,類別在連結階段動態載入
  • JIT(Just-In-Time)即時編譯器:熱點程式碼編譯為原生機器碼,效能逼近 C++
  • 現代 JVM(HotSpot、GraalVM)具備分層編譯、逃逸分析、標量替換等優化

8. 多執行緒

  • 執行緒為特殊物件,由 Thread 類或 Runnable 介面建立
  • 內建同步機制:synchronized、Lock、volatile、ThreadLocal
  • Java 5+ 提供 java.util.concurrent 高階並發工具包

9. 動態性

  • 類別可動態載入(ClassLoader),支援熱部署、外掛架構
  • 執行期型別資訊保留(RTTI),支援反射、動態代理
  • 有利於系統升級與擴充,無需重新編譯整個應用

Java 發展歷程關鍵里程碑

時間事件
1995/05/23Java 語言正式誕生
1996/01JDK 1.0 發布
1997/02JDK 1.1 發布(內部類別、JDBC、RMI、反射)
1998/12J2EE 企業版發布
2000/05JDK 1.3 發布(HotSpot JVM 正式內建)
2002/02J2SE 1.4 發布(NIO、正則表達式、Logging API)
2004/09J2SE 5.0 發布(泛型、註解、自動裝箱、增強 for 迴圈、enum、varargs)
2006/12Sun 開源 Java,OpenJDK 專案啟動
2009/04Oracle 以 74 億美元收購 Sun,取得 Java 版權
2011/07Java 7 發布(try-with-resources、NIO.2、Fork/Join、InvokeDynamic)
2014/03Java 8 發布(Lambda、Stream API、Optional、新日期時間 API、Nashorn JS 引擎)
2017/09Java 9 發布(模組系統 Jigsaw、JShell、HTTP/2 Client)
2018/03Java 10 發布(區域變數型別推斷 var)
2018/09Java 11 發布(LTS 長期支援版、HTTP Client 標準化、String 新方法)
2021/09Java 17 發布(LTS、封裝內部 API、Sealed Classes、Pattern Matching、Record)
2022/09Java 19 發布(虛擬執行緒 Project Loom 預覽、Structured Concurrency)
2023/09Java 21 發布(LTS、虛擬執行緒正式版、Record Patterns、String Templates 預覽)

Java 開發基礎工具鏈

  • 作業系統:Linux、macOS、Windows 全平台支援
  • JDK:建議使用 LTS 版本(Java 11、17、21)
  • 建構工具:Maven、Gradle(現代專案標準)
  • IDE:IntelliJ IDEA、Eclipse、VS Code、NetBeans
  • 版本控制:Git

第一支程式:Hello World

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

了解 Java 特性與歷史脈絡,有助於技術選型與架構決策。下一節將進入實戰開發環境配置細節。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved