Java in a Nutshell 6th:Java 語言特性速覽
本文基於《Java in a Nutshell 第 6 版》整理 Java 核心語言特性,供快速查閱。
一、 Java 語言核心特性
- 簡單性:移除 C++ 指針、多重繼承、操作符重載等複雜特性。
- 面向對象:封裝、繼承、多態;一切皆對象(基本類型除外)。
- 分佈式:原生支援 TCP/IP、RMI、HTTP 等網絡協議。
- 健壯性:強類型、自動內存管理(GC)、異常處理、編譯期/運行期雙重檢查。
- 安全性:類加載器隔離、字節碼驗證、安全管理器、沙箱模型。
- 架構中立:字節碼跨平台(JVM)、基本類型固定大小。
- 可移植性:源碼/字節碼無平台依賴。
- 解釋執行:JIT 即時編譯熱點代碼達到接近原生性能。
- 高性能:JIT、逃逸分析、內聯、鎖優化等。
- 多線程:內置線程、同步、併發包(JUC)。
- 動態性:運行期加載類、反射、動態代理、註解處理。
二、 常見批評與回應
| 批評點 | 現狀/回應 |
| 啟動慢、內存佔用高 | JVM 預熱、AOT 編譯、GraalVM Native Image 大幅改善 |
| 語法冗長(樣板代碼) | Lombok、Record (JDK 14+)、模式匹配、var 類型推斷緩解 |
| 泛型擦除導致運行時類型丟失 | 再ified generics 討論中,Valhalla 專案嘗試解決 |
| 無值類型(Value Types) | Valhalla 專案引入 Inline Classes 原型 |
| 檢查型異常濫用 | 函數式風格 + Vavr/Result 類替代 |
作為企業級開發主力語言,Java 持續演進(6 個月一版),在保持向後兼容的同時積極吸收現代語言特性。
- 上一篇文章: SSM 框架下多點登錄業務邏輯深度解析
- 下一篇文章: Java 面試經典:解析「good and abc」輸出背後的值傳遞機制
Copyright ©
程式碼之家 All Rights Reserved