給 Java 新手的 21 條核心知識點歸納與學習建議(基礎篇)
結合多年開發與面試經驗,梳理 J2SE 階段必須掌握的 21 大知識板塊,助你少走彎路、建立完整知識體系。
1. JVM 核心(進階必考)
- 內存模型與結構(堆/棧/方法區/常量池)
- GC 算法、收集器、性能調優
- Thread Dump 分析、Heap Dump 分析
- Class 文件結構、類加載機制、雙親委派、實例創建流程
- 方法執行引擎、字節碼指令
- 各大版本新特性(JDK 8/11/17/21 LTS 重點)
2. Java 運行基礎(入門必會)
javac 編譯、java 執行命令全參數
- 帶 package 類的命令行啟動姿勢
- classpath、java.library.path、工作目錄區別
3. 數據類型與自動裝箱拆箱
- 8 大基本類型範圍、默認值
- 包裝類緩存範圍(-128~127)
- 裝箱拆箱性能陷阱、
== vs equals() 填坑
4. 對象與實例創建全過程
- Class vs Instance 概念區別
- 無繼承:分配內存 → 初始化字段 → 構造器
- 有繼承:靜態初始化(父→子) → 分配內存 → 默認值 → 字段初始化(父→子) → 構造器(父→子)
- 默認無參構造器陷阱
5. 訪問控制修飾符
- public / protected / default / private 對 class/method/field 作用域矩陣
6. 流程控制語法
- if/switch/for/while/do-while/break/continue/return
- Java 12+ Switch 表達式、Yield
7. 面向對象三大特性深度掌握
- 封裝:訪問控制、JavaBean 規範
- 繼承:單繼承、super、方法重寫、多態、動態綁定
- 多態:靜態多分派/動態單分派、向上轉型
- 抽象類 vs 接口、接口回調模式
8. static 關鍵字全場景
- 靜態字段/方法/代碼塊/內部類
- 初始化時機:類加載 → 靜態代碼塊/字段賦值(順序執行)
- 不能與 abstract/final 同時使用的規則
9. 基礎 API 陷阱題
equals()/hashCode() 契約
String 不可變、常量池、StringBuilder/Buffer
final/finally/finalize() 三者區別
10. 集合框架(高頻實戰)
- 體系圖:Collection → List/Set/Queue、Map
- 核心實現:ArrayList/LinkedList、HashSet/LinkedHashSet/TreeSet、HashMap/LinkedHashMap/TreeMap/ConcurrentHashMap
- 底層結構:動態數組、鏈表、紅黑樹、哈希桶+鏈表/紅黑樹
- 擴容機制、負載因子、fail-fast
Collections 工具類:排序、二分查找、同步包裝、不可變視圖
11. 異常體系與企業級處理
- Throwable → Error / Exception → RuntimeException
- 受檢異常 vs 非受檢異常處理策略
- 異常轉換、鏈路追蹤、統一異常處理器、錯誤碼規範
12. IO / NIO / AIO
- BIO:InputStream/OutputStream、Reader/Writer、裝飾器模式
- NIO:Channel、Buffer、Selector、零拷貝、Netty 基石
- 文件鎖、內存映射文件
13. 多線程與並發(難點攻堅)
- Thread/Runnable/Callable/Future/CompletableFuture
- synchronized / ReentrantLock / AQS 原理
- 線程池 7 大參數、拒絕策略、動態調整
- JUC:ConcurrentHashMap、CopyOnWriteArrayList、BlockingQueue、Semaphore、CountDownLatch、CyclicBarrier、Phaser
- volatile 內存語義、happens-before、指令重排
14. 網絡編程
- TCP/UDP Socket 編程
- Netty/MINA 框架原理(Reactor 模型)
15. 時間日期 API(JDK 8+ 重學)
- LocalDate/LocalTime/LocalDateTime/Instant/Duration/Period
- DateTimeFormatter、ZoneId、時區轉換
- JodaTime 遷移指南
16. XML / JSON 解析
- DOM(樹、全量內存)vs SAX(流、事件驅動)適用場景
- Jackson / FastJson / Gson 性能與坑點對比
17. Maven 工程化構建
- 坐標、依賴傳遞/調解/排除、作用域
- 生命週期、插件、Profile、多模組聚合
- 私服、鎖定版本、發布流程
18. 泛型(語法糖)
- 類型擦除、邊界、通配符
<? extends T>/<? super T>
- PECS 原則、泛型方法、類型推斷
19. 註解與反射
- 元註解、編譯期處理(APT)、運行期保留
- Spring Boot 自動配置核心:條件註解、導入註解
20. RMI 遠程調用
- Stub/Skeleton、註冊表、序列化傳輸
- 跨語言場景改用 gRPC/Thrift/HTTP+JSON
21. JNI 本地接口
- Java ↔ C/C++ 互調、
System.loadLibrary() 路徑坑
- JNIEnv、jobject、簽名規則、崩溃排查
學習路線建議
- 語法基礎(1-9) → 集合/異常/IO(10-12) → 多線程(13) → JVM(1) → 框架原理
- 每個知識點:理解原理 → 寫 Demo 驗證 → 總結坑點 → 面試複述
- 建立個人知識庫,定期回顧
後續將推出 J2EE、框架源碼、架構設計進階篇。歡迎指正補充,共建優質知識圖譜。