javac、執行環境 java、核心類庫、工具鏈。docs.zip 解壓,或 IDE 內建離線文件。遇到陌生類別/方法第一反應查文件,非搜尋引擎。javac/java/jar 指令、CLASSPATH/模組路徑機制、原始碼/位元組碼/輸出目錄結構,再遷移至 IDE。| 工具 | 定位 | 優點 | 缺點 | 推薦階段 |
|---|---|---|---|---|
| IntelliJ IDEA Community | 免費、開源、核心 Java/Kotlin/Groovy/Scala 支援 | 智能補全、重構、除錯、Maven/Gradle/Git 整合、插件生態豐富 | 無企業級框架支援 (Spring/Jakarta EE/微服務/資料庫/HTTP Client 需 Ultimate) | 入門~高階通用首選 |
| IntelliJ IDEA Ultimate | 商業版、全棧企業開發 | Spring/Quarkus/Micronaut/Helidon 深度支援、資料庫工具、Kubernetes、遠端除錯、程式碼覆蓋率、重構更強 | 付費訂閱制 (個人年費約 $149 首年) | 專業開發、團隊標準化 |
| Eclipse IDE | 開源、模組化、企業級歷史主流 | 免費、插件擴展性極強、大型專案記憶體管理較好、Eclipse Foundation 專案孵化器 | UI 較舊、索引速度慢、配置複雜、效能不如 IDEA | 舊專案維護、RCP 應用開發、偏好 Eclipse 生態 |
| VS Code + Java Extension Pack | 輕量編輯器、多語言 | 啟動快、記憶體佔用低、Git 整合優、遠端開發 (SSH/容器/WSL) 原生支援 | 重構/除錯/靜態分析深度不如 IDEA、大型專案需精心調優 | 微服務/雲原生/多語言專案、資源受限環境 |
| JCreator / UltraEdit / EditPlus + JDK | 極輕量、指令列導向 | 無專案結構限制、適合學習編譯/執行本質 | 無智能感知、無重構、無除錯、效率極低 | 教學示範、極簡測試、嵌入式交叉編譯環境 |
| NetBeans / Apache NetBeans | 開源、官方支援 Jakarta EE | 視覺化 GUI 建構器 (Matisse)、Maven/Gradle 整合、支援 PHP/JS/C++ | 社群較小、啟動慢、記憶體佔用高 | Jakarta EE 教學、Swing/JavaFX 桌面應用快速原型 |
微軟非標準實作,不相容 Java 規範,僅限 Windows 平台舊系統維護。學習 Java 必須用標準 JDK。
import、try-with-resources、Stream API 鏈式呼叫,強迫大腦建立語法肌肉記憶。CLASSPATH、--module-path、-d 輸出目錄對應套件結構,排查 NoClassDefFoundError 才不會抓瞎。javac -d out src/com/example/*.java 手動建構成功,再用 IDE 開啟專案。手動管理 .jar 依賴是地獄。Day 1 就學會 Maven 或 Gradle:
mvn archetype:generate 產生標準專案骨架pom.xml / build.gradle.kts 宣告依賴、外掛、Profilemvn clean compile test package 一鍵建構、測試、打包| 類別 | 工具/配置 | 用途 |
|---|---|---|
| 建構/依賴 | Maven Wrapper (mvnw) / Gradle Wrapper (gradlew) | 專案自帶建構腳本,無需本機安裝,CI/CD 友善 |
| Dependency Check / OWASP | 掃描依賴漏洞 (CVE),建構流程整合 | |
| SpotBugs / PMD / Checkstyle | 靜態分析:Bug 模式/程式碼異味/編碼規範,IDE 即時提示 | |
| 除錯/診斷 | Arthas (阿里巴巴開源) | 線上熱追蹤:方法耗時、參數/回傳值、執行緒狀態、類別載入器樹、反編譯 |
| Async Profiler / JFR (JDK Flight Recorder) | 低開銷 CPU/記憶體/鎖/IO 分析,生產環境可用 | |
| HeapDump + Eclipse MAT / JVisualVM | 記憶體洩漏分析:支配者樹、保留集、GC 根追蹤 | |
| 測試/品質 | JUnit 5 + Mockito + AssertJ | 單元測試標準棧:參數化測試、巢狀測試、擴展模型、流暢斷言 |
| Testcontainers | 測試時啟動真實 Docker 容器 (DB/Redis/Kafka/ES),告別 Mock 資料庫 | |
| ArchUnit | 架構規則測試:層級依賴、命名慣例、註解驅動約束,CI 守門 | |
| 部署/觀測 | Docker + Docker Compose (本機整合測試) | 一致性環境:docker-compose up -d 啟動全棧依賴 |
| Kubernetes (Kind/k3d/minikube 本機) | 本機模擬 K8s 叢集,驗證 Helm Chart、Service Mesh、Operator | |
| OpenTelemetry + Prometheus + Grafana | 全鏈路追蹤、指標、日誌三位一體觀測棧 |
java --version、javac --version。javac/java 建構執行。「工具是放大器:放大專業者的效率,也放大新手的混亂。」
先練內功 (語法、OOP、JVM、併發、設計模式),再配神兵 (IDE、建構工具、診斷套件)。最好的開發環境,是你深度理解並能掌控的那一套。