Java 技術棧龐大,自學容易迷失方向。本文整理實戰驗證的七階段學習路徑,強調核心優先、實作驗證、源碼閱讀三大原則,助你建立扎實知識體系。
public/protected/private 存取控制、static 靜態語義、final 三種用法、this/super、介面與抽象類別選擇標準。JDK 基礎類庫 rt.jar 超過 3000 類,但90% 業務只用 4 個包:
| 包 | 核心類別 | 典型應用場景 |
|---|---|---|
java.lang | String, StringBuilder, Math, Thread, Exception, Class, System, Enum | 基礎語言支援、反射、多執行緒 |
java.io | File, InputStream/OutputStream, Reader/Writer, Buffered*, Serialization | 檔案/網路/記憶體 I/O、物件序列化 |
java.util | Collection/List/Set/Map, Concurrent*, Date/Calendar, Regex, UUID | 資料結構、併發工具、日期處理、正則 |
java.sql | Connection, Statement, PreparedStatement, ResultSet, DataSource | JDBC 資料庫存取基礎 |
學習法:不死記方法簽名,而要建立「問題 → 類別」心智地圖。遇到需求(如「需快速查找、去重」)→ 直接想到 HashSet → 查 Javadoc 確認方法 → 套用。平時多閱讀 src.zip 來源碼,學習 Sun/Oracle 設計模式與編碼規範。
java.text:格式化、解析(SimpleDateFormat, MessageFormat)。java.net:URL、Socket、HttpURLConnection(理解 HTTP 協議基礎)。javax.naming:JNDI 查找資源(DataSource、EJB、JMS),進階階段必修。HttpServlet, HttpServletRequest, HttpServletResponse, ServletContext, Filter, Listener。web.xml (Servlet 3.0+ 可用註解替代)。java:comp/env 環境命名上下文。UserTransaction、XA 協議、兩階段提交。serialVersionUID)。關鍵轉折:此階段必須補齊 UML 建模 與 設計模式 (GoF 23 模式 + J2EE Core Patterns)。框架設計能力決定系統可維護性與擴展性。
WSDL/SOAP (傳統) → REST/JSON (主流) → gRPC/Protobuf (高效能內部) → GraphQL (彈性查詢)。核心價值:跨語言、跨平台、契約優先的服務互操作。
java -verbose:class、javac -verbose 觀察類載入/編譯細節。src.zip) 是最高效的深度學習途徑。| 資源 | 網址 | 特色 |
|---|---|---|
| Oracle Java Docs | docs.oracle.com/javase | 權威規格、API 文檔、教學軌跡 |
| Baeldung | baeldung.com | Spring 生態最佳實戰、淺顯易懂 |
| InfoQ 中文站 | infoq.cn | 架構案例、前沿技術深度報導 |
| GitHub Awesome Java | github.com/akullpp/awesome-java | 精選庫、框架、工具導航 |
| JDK 源碼在線閱讀 | hg.openjdk.java.net/jdk/jdk/file | 最新 JDK 實現細節 |
Java 學習沒有捷徑,但有正確地圖。堅持「核心優先、實作驗證、源碼閱讀」,時間會證明一切投入的價值。