第一階段:JDK 基石
1. JDK 選擇與安裝
- 主流:Oracle (Sun) JDK,參考實作,必須精通。
- 替代:IBM JDK (JVM 效能優)、BEA JRockit (x86 服務端強)、OpenJDK/GNU。
- 安裝重點:設定
JAVA_HOME、PATH 包含 bin 目錄。
2. 核心指令工具
必須熟練掌握參數細節:
java:啟動 JVM,類別路徑 (-cp)、系統屬性 (-D)、記憶體參數 (-Xms/-Xmx)。
javac:編碼 (-encoding)、目標版本 (-target)、註解處理。
jar:打包、Manifest 管理、簽名。
javadoc:文件生成、自定義 Taglet。
3. JDK Documentation:隨身聖經
API 文件是最權威、最完整的知識庫。建議下載離線版,重點掌握四大核心套件:
java.lang.*:基礎類別、反射、執行緒。
java.io.*:流、序列化、NIO。
java.util.*:集合框架、並發工具、日期時間。
java.sql.*:JDBC 核心 API。
學習策略:先掌握套件整體架構與核心類別職責,編碼時查閱 Documentation 具體方法,切勿死記方法簽名。
第二階段:應用伺服器與運行環境
主流 App Server
| 伺服器 | 定位 | 學習建議 |
| Tomcat | Servlet/JSP 容器,輕量 | 中小專案首選,掌握 server.xml、web.xml、JNDI/連線池配置 |
| WebLogic | 全功能 J2EE,架構乾淨 | 企業級首選,研究部署描述檔、叢集、效能調優 |
| WebSphere | IBM 體系,企業級強 | 了解管理主控台、資源配置差異 |
| JBoss/WildFly | 開源免費,模組化 | 文件需付費,參考社群教學 |
Java 應用分層架構
- 桌面應用:僅需 JRE。
- Web 應用 (3 層):Browser → Web 層 → DB 層。
- 企業級應用 (4+ 層):Browser → Client/EJB 層 → Web 層 → EJB 層 → DB 層。
- 嵌入式:J2ME、KVM、廠商模擬器。
第三階段:書籍推薦與學習策略
入門書
- O'Reilly《Exploring Java》或《Java in a Nutshell》(C++ 背景)。
- 國內《Java 2 編程詳解》/《Java 2 從入門到精通》亦可。
進階必讀
- 《Thinking in Java》:非入門書,適合作為輔助深化理解 OO 觀念、泛型、並發等專題。
- Servlet/JSP:O'Reilly《Java Server Pages》,核心仍是 Servlet API 文件。
- EJB:《Enterprise JavaBeans 2nd Ed.》(含 WebLogic/WS/JBoss 實作) 或《Mastering EJB 2.0》(EJB 2.0 規範)。
- J2EE 實戰:《J2EE 應用與 BEA WebLogic Server》(BEA 官方教材)。
- 設計模式:Sun《J2EE 核心模式》、GoF《設計模式》、Martin Fowler《企業應用架構模式》。
第四階段:實戰成長路徑
- HelloWorld 到 ClassLoader 機制:徹底搞懂
CLASSPATH、package/import 解析規則。參考《Java 深度歷險》。
- 語法與 OO 精髓:關鍵字 (
public/protected/private/static/final)、繼承/介面/多型/例外處理。無 C++ 經驗者預留 1 個月反覆揣摩。
- 核心類庫四大套件:掌握套件架構、核心類別用途,而非記憶方法。遇到問題知道「用哪個類解決」即可。
- 擴展實用套件:
java.text、java.net、javax.naming (JNDI)。
- Web 程式設計:HTTP 協議為基、Servlet API 為核、MVC 模式為骨、部署描述檔為形。
- J2EE 核心規範:JNDI → JTA (分散式交易) → RMI → JMS → EJB。必須結合特定 App Server 實作。
- 架構師進階:UML、設計模式、框架設計、Web Services (WSDL/SOAP/REST)。
終極秘籍:閱讀 JDK 源碼
src.zip 包含完整 rt.jar 源碼。當文件說明不清、想深入實作細節時,直接看 Sun 工程師怎麼寫,是最高效的學習方式。