前言:想清楚再出發
在寫下第一行 System.out.println 前,請自問:
- **興趣驅動**?技術更新極快,無興趣難以持續。
- **抗挫折能力**?環境搭建、異常調試、性能調優,處處是坑。
若答案皆是「是」,請繼續閱讀。
第一階段:Java SE —— 根基決定高度
環境準備
- JDK 17/21 LTS 版本(生產環境主流)
- **拒絕 IDE 起步**:用 VS Code / Notepad++ + 命令行編譯運行,強迫理解
javac/java、CLASSPATH、模塊系統
- 一本系統性入門書:《Java 核心技術 卷Ⅰ》或《Effective Java》(進階)
必修模塊
| 模塊 | 核心知識點 | 驗收標準 |
| 基礎語法 | 變量、流程控制、OOP、異常、泛型、註解 | 手寫單例、工廠、觀察者模式 |
| 集合框架 | List/Set/Map 底層結構、並發容器、Stream API | 說清 HashMap 1.7→1.8 擴容、紅黑樹轉換 |
| I/O & NIO | BIO/NIO/AIO、零拷貝、Netty 入門 | 手寫簡易 HTTP 服務器 |
| 多線程 | JMM、CAS、AQS、線程池、鎖優化、CompletableFuture | 排查死鎖、線上 CPU 100% 定位 |
| JVM | 內存模型、GC 算法(ZGC/G1/Shenandoah)、類加載、調優參數 | 線上 OOM 現場分析、GC 日誌解讀 |
第二階段:Java EE / Jakarta EE —— 企業級開發
Web 基石
- Servlet/JSP 原理、Filter/Listener、Tomcat 架構
- HTTP/HTTPS、Cookie/Session、CORS、JWT
- 前端三件套:HTML/CSS/JS(至少能改頁面、調接口)
數據庫硬功夫
- SQL 必會:索引原理、执行计划、事務隔離級、鎖機制
- 主流庫任擇一精通:MySQL / PostgreSQL / Oracle
- 連接池、分庫分表、讀寫分離、緩存一致性
框架生態
- Spring 全家桶:Core、MVC、Boot、Cloud、Security、Data JPA/R2DBC
- ORM:MyBatis / JPA / jOOQ —— 理解 SQL 與對象映射權衡
- 消息隊列:Kafka / RocketMQ / RabbitMQ —— 異步解耦、削峰填谷
- 緩存:Redis 數據結構、集群模式、分布式鎖、緩存穿透/擊穿/雪崩
- 檢索:Elasticsearch 倒排索引、映射設計、集群運維
第三階段:分布式與架構演進
核心課題
- CAP/BASE、分布式事務(2PC/TCC/Saga/本地消息表)
- 服務治理:註冊發現、配置中心、網關、限流熔斷、鏈路追蹤
- 容器化:Docker、K8s、Helm、Service Mesh
- 可觀測性:Metrics/Logs/Traces 三位一體
第四階段:軟實力與持續增長
- **輸出倒逼輸入**:寫技術博客、錄視頻、參與開源
- **領域建模**:DDD 戰略/戰術設計,守護業務邊界
- **技術決策力**:技術選型文檔、ADR 記錄、成本收益分析
避坑指南
- ❌ 只看不練 → ✅ 每個知識點必有 Demo 項目
- ❌ 追新棄舊 → ✅ 基礎不牢,地動山搖
- ❌ 造輪子癡迷 → ✅ 生產用成熟組件,業餘造輪子學原理
- ❌ 焦慮語言之爭 → ✅ 工具無優劣,適合業務才是王道
結語
「梅花香自苦寒來」。Java 生態龐大,但知識圖譜清晰。按圖索驥,厚積薄發,三五年後回首,你會感謝今天堅持下去的自己。