前言
Java 生態龐大,初學者易迷失。本文提煉「初級工程師」必備知識地圖,按優先級分層,助你最短路徑入門並具備獨立開發能力。
第一層:核心語言與 OO 基石 (必修)
| 知識點 | 驗收標準 |
| 面向對象三大特性 | 能用代碼演示封裝/繼承/多態,解釋「介面 vs 抽象類」選型 |
| Java 基礎語法 | 基本類型、流程控制、數組、字符串、異常體系、泛型基礎 |
| 集合框架 | List/Set/Map 常用實現、遍歷方式、線程不安全 vs 線程安全選擇 |
| I/O 與 NIO.2 | 流體系、序列化、Files/Paths API、try-with-resources |
| 多線程基礎 | Thread/Runnable、synchronized/volatile、wait/notify、線程池基本使用 |
| JDK 8+ 新特性 | Lambda、Stream API、Optional、時間日期 API (java.time)、方法引用 |
第二層:Web 開發棧 (必修,就業核心)
| 技術 | 掌握深度 |
| HTML/CSS/JS 基礎 | 能寫語義化結構、Flex/Grid 布局、ES6+ 語法、Fetch/Axios 請求 |
| Servlet/JSP/JSTL | 理解請求響應流程、Scope 域對象、EL 表達式、JSTL 核心標籤 |
| Spring MVC / Spring Boot | 控制器、參數綁定、校驗、異常統一處理、RESTful API 設計、自動配置原理 |
| 模板引擎 | Thymeleaf/FreeMarker 任一,片段復用、佈局、國際化 |
第三層:數據訪問與持久化 (必修)
| 技術 | 掌握深度 |
| MySQL 基礎 | DDL/DML、索引原理 (B+樹)、EXPLAIN 分析、事務隔離級別、鎖機制 |
| JDBC / 連接池 | PreparedStatement、批量、事務控制、HikariCP 核心參數 |
| MyBatis / JPA | 任一精通:XML/註解映射、動態 SQL、關聯查詢、N+1 問題、緩存機制 |
第四層:中間件與工程化 (加分項,區分普通與優秀)
| 領域 | 入門標準 |
| Redis | 五大類型、過期策略、分布式鎖、緩存穿透/擊穿/雪崩方案 |
| MQ (RabbitMQ/Kafka) | 交換機類型、消息可靠性、死信隊列、順序消費、幂等消費 |
| Linux 基礎操作 | 目錄結構、權限、進程管理、網絡診断 (netstat/ss/curl)、日誌分析、Shell 基礎 |
| Git / Maven / Gradle | 分支策略、衝突解決、多模塊構建、依賴調解、Profile 環境隔離 |
| 單元測試 | JUnit 5 + Mockito,覆蓋率要求、邊界測試、測試金字塔認知 |
| 容器化 | Dockerfile 編寫、Compose 編排、鏡像精簡、K8s 基礎概念 (Pod/Svc/Deploy) |
第五層:軟實力與工程素養 (長期競爭力)
- 代碼規範:Alibaba Java 開發手冊、Checkstyle/SpotBugs 接入 CI
- 設計原則:SOLID、DRY、KISS、YAGNI、組合優於繼承
- 問題排查:日誌分級、鏈路追蹤、JVM 參數調優、Arthas 線上診斷
- 文檔輸出:API 文檔、技術方案、複盤總結、知識沉澱
- 持續學習:訂閱優質技術周刊、閱讀源碼 (Spring/MyBatis/Netty)、參與開源
學習路徑建議 (3-6 個月)
- Month 1:Java 核心語法 + 集合 + 多線程 + JDK 8 新特性 → 手寫迷你工具類
- Month 2:MySQL + JDBC + MyBatis → 完成 CRUD 練習項目 (如用戶管理)
- Month 3:Spring Boot + Thymeleaf/MyBatis → 搭建 REST API + 前後端分離 Demo
- Month 4:Redis + RabbitMQ + Docker → 為 Demo 加緩存、異步、容器化部署
- Month 5:Linux 部署 + Nginx 反向代理 + HTTPS + 域名 → 上線可訪問
- Month 6:單元測試覆蓋率 70%+、CI/CD 流水線、撰寫技術總結文檔
避坑指南
- ❌ 只看視頻不敲代碼 → 肌肉記憶靠手寫
- ❌ 直接背面試題不懂原理 → 問「為什麼」直到底層
- ❌ 忽視異常處理、資源關閉 → 生產事故高發區
- ❌ 狂追新框架不夯實基礎 → 基礎不牢,地動山搖
初級不等於初級水平。把上述知識點真正「懂原理、能落地、會排查」,你就是團隊可信賴的骨幹。