首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java 入門核心知識體系:從 JDK/JRE 到開發模式的完整地圖

     編輯:Java 程式設計入門

Java 是什麼?為什麼選擇 Java?

Java 是平台無關、物件導向、健壯、安全、多執行緒、分散式的通用程式語言。三大版本定位:

  • Java SE (Standard Edition):核心 API、語言基礎、桌面應用基礎
  • Java EE / Jakarta EE (Enterprise Edition):企業級分散式系統標準 (Servlet、JPA、CDI、JTA、JMS、Security、Batch、WebSocket 等)
  • Java ME (Micro Edition):嵌入式/行動裝置精簡配置 (CLDC/MIDP,現已邁向嵌入式 Java SE 子集)

核心優勢:成熟生態、人才豐富、長期支援 (LTS)、雲原生友善 (Spring Boot/GraalVM/Quarkus)、效能持續優化 (JIT/AOT/虛擬執行緒/ZGC)。


執行環境三角鐵:JVM / JRE / JDK

組件全名包含內容用途大小
JVMJava Virtual Machine位元組碼解釋器、JIT 編譯器、記憶體管理 (GC)、執行緒同步、類別載入器、安全管理員執行 .class 位元組碼的核心引擎,平台專屬實作 (HotSpot, OpenJ9, GraalVM, Zing)~50-100 MB
JREJava Runtime EnvironmentJVM + 核心類庫 (rt.jar / jrt-fs.jar) + 啟動器 + 部署工具執行 Java 應用程式的最小環境 (終端用戶安裝)~50-80 MB
JDKJava Development KitJRE + 編譯器 (javac) + 除錯器 (jdb) + 打包 (jar) + 文件 (javadoc) + 監控/診斷工具 (jcmd, jstack, jmap, jfr) + 原始碼 (src.zip)開發、編譯、除錯、打包、部署的完整工具箱~150-300 MB

💡 關係:JDK ⊃ JRE ⊃ JVM。開發機必裝 JDK;生產伺服器僅需 JRE (或精簡 jlink 客製化運行時);容器映像建議使用 eclipse-temurin:21-jre / eclipse-temurin:21-jdk 基底映像。


下載與安裝最佳實務

  • 官方來源:Eclipse Temurin (推薦)、Oracle JDK (商業支援)
  • 版本鎖定:專案使用 .sdkmanrc / pom.xml maven.compiler.release / gradle toolchain 明確宣告 JDK 版本,避免「在我機器上能跑」問題。
  • 環境變數:JAVA_HOME 指向 JDK 根目錄,PATH 前綴 $JAVA_HOME/bin。不再需要 手動設定 CLASSPATH (Maven/Gradle/模組系統自動管理)。

開發模式演進:從記事本到雲原生

階段工具鏈特徵適用場景
1. 原始指令列javac / java / jar / javadoc零依賴、理解本質、教學驗證學習前 2 週、極簡測試、嵌入式交叉編譯
2. 文字編輯器 + 建構腳本VS Code / Vim / Emacs + Maven/Gradle Wrapper輕量、可攜、鍵盤導向、多語言微服務單模組、資源受限、遠端 SSH 開發
3. 輕量 IDEIntelliJ IDEA Community / VS Code Java Extension Pack智能感知、重構、除錯、Git/建構工具整合中小型專案、個人開發、開源貢獻
4. 全功能 IDEIntelliJ IDEA Ultimate框架深度支援 (Spring/Jakarta EE/K8s/DB/HTTP/Profiling)、團隊協作、程式碼品質企業級專業開發、大型單體/微服務、架構治理
5. 雲端開發環境GitHub Codespaces / Gitpod / Coder / 遠端 IDEA預置環境、一致性、零配置、隨時隨地團隊標準化、新人入職、CI/CD 整合、安全合規

⚠️ 新手鐵律:前 2 週禁止使用 IDE 智能補全/自動 Import/重構。手寫每一行 import、try-with-resources、Stream 鏈,強迫大腦內化語法與 API。理解 CLASSPATH/模組路徑/輸出目錄結構,才能駕馭建構工具與 IDE,排查環境問題時不會無從下手。


文件查詢鐵律:JDK Documentation 至上

  • 離線文件:下載對應版本 docs.zip,IDE 設定離線文件路徑,Ctrl+Q (IDEA) / Shift+F1 (Eclipse) 即時查看。
  • 查詢順序:API 文件 → 原始碼 (Ctrl+Click) → JLS/JVMS 規範 → 技術文章/部落格 → StackOverflow。
  • 必讀核心套件:java.lang、java.util (集合/併發/時間)、java.io/java.nio、java.lang.reflect、java.util.stream、java.time。

常見入門誤區與正確認知

誤區正確認知
Java 會取代 C/C++/C#/Go/Rust無最佳語言,只有最適合場景的語言。Java 擅長企業級服務、大數據、Android (歷史)、高併發業務系統
裝了 IDE 就會寫 JavaIDE 是加速器,非替代品。不懂建構生命週期、類別載入、記憶體模型,IDE 只會幫你更快產出 Bug
只學 Spring Boot 不學 Servlet/JDBC框架封裝標準 API。不懂 HttpServletRequest/DataSource/Connection,遇到異常、效能瓶頸、安全漏洞時無法深入診斷
JDK 8 夠用了,不用升級JDK 8 2022 結束免費支援。JDK 17/21 帶來虛擬執行緒、Record、模式匹配、ZGC、效能提升 10-20%、安全性增強、現代語法
CLASSPATH 必須手動設定現代專案用 Maven/Gradle 管理依賴,IDE/建構工具自動構建模組路徑。手動 CLASSPATH 僅用於極簡測試

入門第一個月學習清單

  1. ☐ 安裝 JDK 21、設定 JAVA_HOME/PATH、驗證 java --version
  2. ☐ 手動 javac/java 編譯執行 HelloWorld、多檔案專案、套件結構
  3. ☐ 學會 javadoc 產生文件、jar 打包、javap -c 反組譯
  4. ☐ 完成《Java Tutorials - Learning the Java Language》所有 Trail (語法、OOP、泛型、枚舉、註解、Lambda)
  5. ☐ 掌握基本型別、參考型別、裝箱/拆箱、字串、陣列、var (JDK 10+)
  6. ☐ 理解物件建構、建構子鏈、靜態工廠、Builder、Record
  7. ☐ 熟練集合框架:List/Set/Map 介面與 ArrayList/LinkedList/HashSet/TreeSet/HashMap/TreeMap/ConcurrentHashMap 選型
  8. ☐ 異常處理:檢查性/非檢查性、try-with-resources、自訂例外、錯誤碼 vs 例外
  9. ☐ IO/NIO:Files/Paths、串流/通道/緩衝區、序列化/JSON (Jackson/Gson)
  10. ☐ 基礎併發:Thread/Runnable/ExecutorService/Future/CompletableFuture/synchronized/Lock/ThreadLocal
  11. ☐ 安裝 IntelliJ IDEA Community,導入 Maven 專案,完成 Spring Boot 官方 Getting Started 指南
  12. ☐ 寫一個「任務管理 CLI 應用」:檔案持久化、指令解析、單元測試、Javadoc、打包執行

「千里之行,始於足下。」Java 知識體系龐大,但核心概念有限且穩定。按圖索驥、專案驅動、輸出倒逼輸入,三個月建立扎實基礎,一年進入專業開發行列,三年成為領域專家。從今天的第一行 javac 開始,你的 Java 之旅已經啟程。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved