從入門到精通,Java 技術體系龐大且演進迅速。本文整理 30 個分層級的核心能力指標,涵蓋基礎語言、企業級框架、分散式架構、效能調優、工程化實踐等維度,作為技術成長路線圖與自我檢核清單。
第一層:核心基礎 (1-4)
1. 物件導向分析設計與設計模式精通
- OOA/OOD 方法論、GOF 23 模式、J2EE 核心模式
- UML 核心圖:類別圖、物件圖、循序圖、狀態圖
2. Java 語言核心類庫深度掌握
- Collections、Serialization、Streams、Networking
- Multithreading、Reflection、Event Handling、NIO
- Localization (i18n/L10n) 國際化實作
3. JVM 內部機制與類別載入體系
- ClassLoader 雙親委派、自定義類別載入器
- 類別檔案結構、位元組碼指令集、反編譯技術
- GC 演算法 (G1、ZGC、Shenandoah)、記憶體模型、JVM 調優參數
4. 客戶端 GUI 開發技術棧
- Applet (歷史認知)、Swing/AWT/SWT 桌面開發
- JavaBeans 元件模型在 UI 層應用
- 現代替代:JavaFX、TornadoFX、Compose for Desktop
第二層:資料存取與持久化 (5-6)
5. JDBC 進階與 ORM 框架實戰
- JDBC API 精通、連線池 (HikariCP/Druid) 調優
- 主流 ORM:Hibernate、MyBatis、JPA/Hibernate、jOOQ
- 國產選擇:BeetlSQL、MyBatis-Plus
6. 物件關聯阻抗失配與多資料庫適配
- 阻抗失配本質與解決策略
- Oracle、MySQL、PostgreSQL、SQL Server 差異適配
- 分庫分表、讀寫分離、HTAP 架構認知
第三層:安全與 Web 技術 (7-10)
7. Java 安全架構體系
- 沙箱模型:ClassLoader、Bytecode Verifier、SecurityManager
- 權限體系:Policy、Permission、Code Signing、數位簽章
- 加密體系:JCA/JCE、JSSE (SSL/TLS)、JGSS (Kerberos)
- 認證授權:JAAS、OAuth2/OpenID Connect、JWT 實作
8. Servlet/JSP/JSTL 基礎與標籤庫開發
- Servlet 生命週期、Filter/Listener 機制
- JSP 標籤檔、EL 表達式、JSTL 核心/格式化標籤
- 自定義標籤開發 (Tag File / Java Class)
9. 主流 Web MVC 框架精通
- Spring MVC (核心)、Struts 2 (維護專案)
- JSF (企業級)、Play Framework (Reactive)
- MVC/Model2 模式本質與前後端分離演進
10. Web 伺服器管理與調優
- Tomcat/Jetty/Undertow 核心配置、連接器調優
- SSL/TLS 憑證管理、HTTP/2、WebSocket 支援
- 叢集 Session 複製、藍綠部署、優雅關閉
第四層:分散式與企業級整合 (11-18)
11. 分散式物件與遠端呼叫
- RMI/RMI-IIOP、gRPC、Thrift、Dubbo
- 序列化協定:Java Serialization、Protobuf、Avro、Hessian
12. 中介軟體標準與 Java 整合
- JTA/JTS 分散式交易、JMS 訊息隊列 (Kafka/RocketMQ 整合)
- JCA 資源適配器、JMX 管理監控
13. XML 處理與資料綁定
- JAXP (DOM/SAX/StAX)、JDOM、DOM4J、XStream
- JAXB (XML↔Java)、JSON 替代趨勢 (Jackson/Gson)
14. Web Services 與微服務通訊
- SOAP/JAX-WS (傳統)、REST/JAX-RS (主流)
- gRPC/Protocol Buffers、GraphQL、Service Mesh (Istio/Linkerd)
- 契約優先開發、API 閘道、熔斷限流
15. 輕量級容器與依賴注入
- Spring IoC/DI (Setter/Constructor/Field/Interface 注入)
- Spring Boot 自動配置、Spring Cloud 微服務套件
- 替代輕量容器:PicoContainer、Google Guice、Quarkus、Micronaut
16. J2EE/Java EE 核心服務規格
- JNDI 命名目錄、JTA 交易、JMS 訊息、JMX 管理
- Jakarta EE 9+ 命名空間遷移 (javax→jakarta)
17. EJB 3.x 現代化企業元件
- Session Bean (Stateful/Stateless)、MDB 非同步處理
- JPA 整合、攔截器、非同步方法、計時服務
18. 應用伺服器進階運維
- WebLogic/WildFly/JBoss EAP 叢集配置、資料源分區
- 效能監控 (JVisualVM、Arthas、Prometheus/Grafana)
- 生產環境故障診斷、Heap Dump 分析、GC 日誌解讀
第五層:進階架構與工程化 (19-24)
19. 面向切面與屬性導向程式設計 (AOP)
- AspectJ (編譯期/載入期織入)、Spring AOP (執行期代理)
- 切點表達式、通知類型、引介
20. 核心工具庫與基礎設施元件
- Log4j2/Logback/SLF4J 結構化日誌
- Quartz/Spring Task 排程、JGroups 叢集通訊
- Caffeine/Redis 分散式快取、Lucene/Elasticsearch 全文搜尋
- Apache Commons、Guava、Hutool 工具箱
21. 本地整合與異構系統連接
- JNI (C/C++ 互操作)、JNA (純 Java 呼叫本地庫)
- JCA 資源適配器整合大型主機/ERP 系統
22. JINI 服務發現與分散式系統 (歷史認知)
- 服務註冊發現、租約機制、分散式事件
- 現代替代:Consul、Etcd、Zookeeper、Nacos
23. JCP 標準化流程與關鍵 JSR 追蹤
- JSR 375 (Security API)、JSR 380 (Bean Validation 2.0)
- JSR 385 (Units of Measurement)、JDK Enhancement Proposals (JEP)
24. IDE 精通與開發效能最大化
- IntelliJ IDEA (旗艦)、Eclipse、VS Code (Java Extension Pack)
- 鍵盤捷徑、重構技巧、除錯技巧、Live Templates
- 建構工具整合 (Maven/Gradle)、版本控制 (Git) 工作流
第六層:工程化實踐與持續演進 (25-30)
25. 程式碼生成與樣板消除
- Annotation Processing (Lombok、MapStruct、MyBatis-Plus)
- XDoclet (歷史)、Template Engine (Velocity/FreeMarker/Thymeleaf)
26. 測試驅動與建構部署自動化
- JUnit 5 / TestNG、Mockito、Testcontainers 整合測試
- Maven/Gradle 多模組建構、CI/CD (Jenkins/GitLab CI/GitHub Actions)
- Docker 容器化、Kubernetes 部署、Helm Charts
27. 軟體工程流程與敏捷實踐
- RUP (認知)、Scrum/Kanban/XP 實戰
- DDD 領域驅動設計、CQRS/Event Sourcing
- 架構決策記錄 (ADR)、技術債管理
28. 跨平台作業系統深度操作
- Linux (生產標準):Shell 腳本、Systemd、網路/磁碟/程序診斷
- Windows Server (企業環境)、macOS (開發環境)
- 容器運行時:containerd、CRI-O、Kata Containers
29. 技術雷達與前沿追蹤
- JDK 新特性 (Records、Pattern Matching、Virtual Threads、Foreign Function API)
- GraalVM Native Image、Quarkus、Spring Native
- Reactive Programming (Project Reactor、RxJava)
- WebAssembly on JVM (Wasmer、Extism)
30. 開源生態參與與貢獻
- 閱讀優秀開源專案原始碼 (Spring、Netty、Dubbo、Flink)
- 提交 Issue、PR、參與社群討論、撰寫技術部落格
- 理解開源協議 (Apache 2.0、MIT、GPL、BSD) 與合規
能力評估矩陣
| 階段 | 指標範圍 | 典型角色 |
| 入門 | 1-4, 8 | Junior Developer |
| 進階 | 5-7, 9-15, 20, 24 | Mid-level Engineer |
| 資深 | 11, 12, 16-19, 21, 23, 25-27 | Senior Engineer / Tech Lead |
| 專家 | 全清單 + 架構決策 / 技術治理 | Architect / Principal Engineer |
總結
這 30 項指標非一次性清單,而是持續演進的技術雷達。建議:
- 依專案需求優先補強相關指標
- 建立個人知識體系 (PKM),定期複盤
- 以輸出倒逼輸入:技術分享、開源貢獻、架構文檔
- 保持技術好奇心,拥抱變化
記住:技術深度源於業務場景的反覆打磨,廣度源於跨域知識的融會貫通。