一、學習 Java 要學什麼?
- 語法基礎:基本資料型別、流程控制、陣列、例外處理、泛型、註解等。
- 物件導向核心:類別與物件、封裝、繼承、多型、介面、抽象類別、內部類別、Lambda 表達式 (Java 8+)。
- 開發工具:IntelliJ IDEA (推薦)、Eclipse、VS Code + Java Extension、Maven/Gradle 建構工具、Git 版本控制。
- 核心類別庫:
- 字串處理:
String、StringBuilder、正則表達式
- 集合框架:
List/Set/Map 介面與實作、並發集合
- 日期時間:
java.time 套件 (Java 8+)
- I/O 與 NIO:
Stream、Channel、Files 工具類
- 專業領域類庫:
- Web 開發:Servlet、JSP、Spring MVC、Spring Boot、RESTful API
- 資料庫:JDBC、連線池 (HikariCP)、MyBatis、JPA/Hibernate
- 並發程式:
Thread、ExecutorService、CompletableFuture、java.util.concurrent 套件
- 微服務:Spring Cloud、Docker、Kubernetes 基礎
- API 文件使用:熟練查閱 Oracle 官方 Java API 文件,快速上手陌生類別。
二、怎樣算「學好」 Java?
- 扎實基本功:深刻理解語法語意、記憶體模型 (堆/棧/方法區)、垃圾回收基礎。
- 具備 OO 思維:能以領域模型設計類別結構,善用設計模式 (GoF 23 種) 解耦合。
- 程式碼規範:遵循 Google Java Style Guide 或 Alibaba Java 開發手冊,善用 Checkstyle/SpotBugs 靜態分析。
- 工具熟練度:除錯、重構、單元測試 (JUnit 5、Mockito)、效能分析 (JProfiler、VisualVM)。
- 能獨立交付應用:從需求分析、資料庫設計、API 設計、CI/CD 部署完整流程。
三、如何高效學好 Java?
- 多讀經典書籍:《Effective Java》、《Java 核心技術》、《深入理解 JVM》、《Spring 實戰》、《設計模式》等。
- 多讀優質原始碼:JDK 集合原始碼、Spring Framework 核心模組、Netty、Guava 等開源專案。
- 大量寫代碼:LeetCode 刷題、重寫常用工具類、模擬實作簡易框架 (MVC、IOC、AOP)。
- 做真實專案:從個人部落格、電商後台、即時聊天系統等完整專案切入,遇到問題查文件、看源碼、問社群。
- 持續跟進技術演進:關注 Java 版本新特性 (每 6 個月一版)、Spring 生態更新、雲原生趨勢。
給新手的幾句話
不要貪多求快,打好地基最關鍵。
理論結合實踐,寫出能跑、好維護、可擴展的代碼。
保持好奇心,擁抱變化,Java 生態雖大,核心原理卻相通。