JDK (Java Development Kit) = JVM + 核心類庫 (rt.jar/jrt-fs.jar) + 開發工具 (javac/java/jar/javadoc/jcmd/jstack/jmap/jfr...)。
# 1. 下載 Temurin 21 LTS MSI 安裝至 C:\Java\jdk-21
# 2. 系統環境變數
JAVA_HOME = C:\Java\jdk-21
PATH = %JAVA_HOME%\bin;%PATH% # 放最前面
# 3. 驗證
java --version
javac --version
echo %JAVA_HOME%
| 工具 | 核心用途 | 必會參數 |
|---|---|---|
java | 啟動 JVM 執行類別/JAR | -cp/--class-path, -Xms/Xmx, -XX:+UseZGC, -Dkey=value, --module-path, -jar |
javac | 編譯 .java → .class | -d, -sourcepath, -cp, -g, -parameters, --release, -Xlint |
jar | 打包/解壓/查看 JAR | cvf, tvf, xvf, cvfm (含 Manifest), -C |
javadoc | 產生 HTML API 文件 | -d, -sourcepath, -subpackages, -link, -encoding, -docencoding, -charset |
💡 鐵律:這四個工具的**每個參數都要精通**。它們是建構工具 (Maven/Gradle)、IDE、CI/CD、容器化的底層引擎。排查編譯失效、執行時 ClassNotFound、JAR 無法執行、文件連結失效等問題,最終都要回到命令列參數原理。
docs.zip,IDE 設定離線文件路徑apache-tomcat-10.x.x.zip → 設定 JAVA_HOME/CATALINA_HOME → startup.bat/shconf/tomcat-users.xml 設定 manager-gui/admin-gui 角色 → https://localhost:8080/manager/html| 伺服器 | 定位 | 特色 | 授權 | 推薦場景 |
|---|---|---|---|---|
| BEA WebLogic / Oracle WebLogic | 商業級全功能 App Server | 叢集、分散式交易、JMS、快取、管理主控台完善、效能調校深度 | 商業授權 (高昂) | 大型金融/電信核心系統、需廠商 SLA 支援 |
| IBM WebSphere | 商業級、整合 IBM 生態 | 高可用、安全、訊息、規則引擎、與 IBM MQ/DB2 深度整合 | 商業授權 | IBM 技術棧客戶、銀行/保險核心系統 |
| WildFly (JBoss EAP 上游) | Jakarta EE 完整開源實作 | 模組化類別載入 (JBoss Modules)、快速啟動、CLI 管理、OpenShift 原生 | LGPL 免費 / EAP 訂閱 | 開源偏好、遷移舊 JBoss、雲原生部署 |
| Payara (GlassFish 下游) | Jakarta EE 參考實作增強版 | MicroProfile 完整支援、Docker/Cloud 原生、熱部署、管理主控台 | 免費 / 企業版訂閱 | 標準化 Jakarta EE 專案、MicroProfile 微服務 |
Dockerfile 多階段建構 → distroless/alpine 基底 → Kubernetes Deployment + Service + Ingress| 應用類型 | 架構層次 | 核心技術棧 | 部署單元 |
|---|---|---|---|
| 桌面應用 | 單機 | Swing / JavaFX / SWT / TornadoFX | JAR / 安裝包 (jpackage, JDK 14+) |
| Web 應用 (三層) | Browser → Web (Servlet/JSP/Controller) → DB | Spring MVC / Spring Boot / Jakarta Faces / Thymeleaf / HTMX | WAR (傳統) / Fat JAR (Spring Boot) |
| 企業級應用 (四層+) | Browser → Client (Applet/FX/Mobile) → Web → EJB/Service → DB | Jakarta EE (EJB, JPA, CDI, JTA, JMS) / Spring (事務、資料、安全、批次、整合) | EAR (傳統) / 微服務叢集 (現代) |
| 嵌入式/行動 | 裝置端 + 雲端 | Java ME (CLDC/MIDP 歷史) / Android (ART) / Java SE Embedded / Raspberry Pi Java | APK / 模組化 JAR (jlink 精簡運行時) |
| 階段 | 時間 | 核心目標 | 驗收專案 | 關鍵資源 |
|---|---|---|---|---|
| 入門 | 1-3 個月 | 語法、OOP、集合、異常、IO、基礎併發、JDBC、Servlet/JSP | 任務管理 CLI (檔案持久化) → 簡易部落格 Web (JSP/Servlet + JDBC + MySQL) | Java Tutorials、Head First Java、JDK 文件 |
| 進階 | 3-12 個月 | JVM 記憶體/GC/類別載入、JUC 併發套件、網路程式 (NIO/Netty)、Spring 生態核心 (IoC/AOP/MVC/Data/Tx/Security/Test)、資料庫進階 (索引/鎖/優化)、建構工具 (Maven/Gradle 精通)、單元/整合測試 | 電商訂單系統 (Spring Boot + MySQL + Redis + RabbitMQ + Elasticsearch + Docker) | Effective Java、Java 併發編程實戰、Spring 參考文件、Baeldung |
| 高階 | 1-3 年 | 微服務架構 (Spring Cloud / Dubbo / gRPC)、領域驅動設計 (DDD)、分散式系統理論 (CAP/BASE/Raft)、觀測性 (Metrics/Logging/Tracing)、效能工程 (JMH/Async Profiler/JFR/G1/ZGC 調優)、安全 (OAuth2/OIDC/零信任)、CI/CD/GitOps、Kubernetes 操作 | 微服務化重構電商核心域 (訂單/庫存/支付/用戶) 支撐日單 10 萬、全鏈路觀測、混沌工程 | 企業應用架構模式、DDD、設計資料密集型應用、Kubernetes 實戰、Google SRE 手冊 |
| 專家/架構師 | 持續 | 技術決策 (ADR)、團隊賦能、開源貢獻、規格制定 (JCP/JEP)、前沿探索 (Project Loom/Valhalla/Panama/Leyden)、系統級效能工程、組織架構演進 (Conway 定律) | 主導千萬用戶級平台架構演進、輸出高影響力技術專利/論文/開源專案、建立工程文化 | JLS/JVMS/OpenJDK 原始碼、ACM/IEEE 論文、QCon/ArchSummit/Devoxx 講稿 |
「路漫漫其修遠兮,吾將上下而求索。」Java 技術棧廣闊深邃,但核心原理有限且穩定。按圖索驥、腳踏實地、持續輸出,三年回望,你會感謝今天下載第一份 JDK Documentation、敲下第一行
javac的自己。