學習 J2SE/J2EE 三年發現:僅知 API 不足、需研讀源碼理解框架設計思想(設計模式)、規範與實現分離(J2EE 只是標準)。推薦以下專案由淺入深研讀。
| 專案 | 特點 | 源碼規模 | 推薦理由 |
|---|---|---|---|
| Tomcat | Jakarta 核心,Sun 參與,標準參考實作 | ~4000 頁 | 最新規範首發體現,生產級 |
| Jetty | HTTP Server + Servlet 容器 | ~1000 頁 | 精簡易讀,嵌入式場景首選 |
| Jigsaw | W3C 開發,Web 技術藍圖 | ~1000 頁 | 標準制定者視角 |
| Jo! | 純 Java,支援 Servlet 2.2/JSP 1.1 | 小 | 文檔完整,適合入門研讀 |
建議:先研讀 Jo! 或 Jetty,再挑戰 Tomcat。
| 專案 | 特點 | 源碼規模 | 推薦理由 |
|---|---|---|---|
| Hypersonic SQL (HSQLDB) | 純 Java 關聯式 DB,支援 ANSI-92 | ~1600 頁 | 極小 (160KB)、引擎快、適合第一個 DB 專案 |
| McKoi DB | GPL、JDBC 3.0、SQL-92、支援事務 | ~1600 頁 | 可替代 HSQLDB 研讀 |
| Apache Derby | IBM 捐贈、嵌入式、高可移植、輕量 | ~15000 頁 | 企業級品質、註解豐富、讀完即高手或瘋掉 |
策略:先攻克 HSQLDB,能力許可再啃 Derby(需 3 年閱讀量)。
| 專案 | 特點 | 源碼規模 |
|---|---|---|
| MOM4J | JMS 1.1 完整實作、自有持久層、設計巧妙利用檔案系統觀念 | ~250 頁 |
| OpenJMS | PTP/PubSub、同步/異步、JDBC 持久、可視化管理、支援 RMI/TCP/HTTP/SSL | ~1600 頁 |
| ActiveMQ | Apache 2.0、JMS 1.1、整合 Geronimo/輕量級容器 | 中等 |
| JORAM | ObjectWeb 旗下、分散式 JMS | 中等 |
首推:OpenJMS(功能全、可順帶研讀 JNDI/網絡通訊)與 ActiveMQ(Apache 生態)。
| 專案 | 特點 | 源碼規模 |
|---|---|---|
| EasyBeans | ObjectWeb、輕量級 EJB3、Subversion 可檢出 | ~600 頁 |
| OpenEJB | 預生成、自包含、可移植、Apple WebObjects 採用 | 中等 |
| 專案 | 特點 |
|---|---|
| JBoss | LGPL、JMX 微核心總線、SOA 架構、統一類載入器熱部署、J2EE 1.4 首個通過認證開源 AS |
| JOnAS | ObjectWeb、整合 Tomcat/Jetty、完整 API 支援 |
| Apache Geronimo | 統一整合模型、預集成開源專案、Apache 授權 |
必研:JBoss(生態最豐、文檔最多、商業支援完善)。
com.sun.org.apache.xerces)腳踏實地、精讀 J2SE 源碼、理解設計理念、分頭擊破 J2EE 方向。一口吃不成胖子,不要貪多貪廣。開源已滲透日常(JDK 即包含 Xerces),善用資源,從基礎做起。