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

你真的掌握 J2SE 了嗎?Java 核心技術體系檢核清單 (現代版)

     編輯:Java 相關知識

前言

「會寫 HelloWorld ≠ 掌握 Java」。本文將經典檢核清單升級至 Java 17/21 LTS 標準,涵蓋語言核心、JVM、工具鏈、工程化能力五大維度,作為進階開發者自我檢視與面試準備依據。

一、語言核心 (Java 17+ 基線)

項目必會指標加分項
基礎語法變數、流程控制、陣列、註解、模組聲明Pattern Matching (instanceof/switch/record)、Sealed Class、Text Blocks
面向物件封裝/繼承/多型、介面預設/靜態方法、Record、Enum 進階Value-based Class 設計、不可變物件模式
泛型型別參數、通配符 `? extends/super`、PECS 原則、型別擦除影響可變參數堆污染、泛型方法型別推導、Reifiable Types
集合框架List/Set/Map/Queue 體系、並發集合 (CHM, CWS)、Stream API (中間/終端操作、並行流)自訂 Collector、Spliterator、Primitive Stream (IntStream)
異常處理檢查/非檢查異常、try-with-resources、多重 catch、異常鏈、自訂異常錯誤碼 vs 異常決策、Vavr Either/Result 模式
並發基礎Thread/Runnable、synchronized/volatile、wait/notify、JUC (AQS、Lock、Condition、Semaphore、CountDownLatch、CyclicBarrier、Phaser)、ThreadLocal、CompletableFuture、ExecutorService、ForkJoinPool、虛擬執行緒 (Java 21)非阻塞演算法、VarHandle、Structured Concurrency (JEP 453)
IO/NIOInputStream/OutputStream、Reader/Writer、Files/Paths、Channel/Buffer/Selector、Memory-mapped File、try-with-resources 管理NIO.2 非同步通道、FileSystems SPI、IO_URING (JDK 內建)
模組系統 (JPMS)module-info.java、requires/exports/opens/uses/provides、服務載入、強封裝、遷移策略自動模組、未命名模組、jlink 定製運行時映像

二、JVM 內功心法

領域核心知識點實戰技能
記憶體模型堆/堆外/元空間/代碼快取、分代/區域化、TLAB、物件佈局 (Header/Instance Data/Padding)、壓縮指標-Xms/Xmx/Xmn/MetaspaceSize、Native Memory Tracking、Off-heap 排查
GC 理論與調優可達性分析、SafePoint、STW、Parallel/G1/ZGC/Shenandoah 原理、記憶體屏障、記憶體集/記住集GC 日誌分析 (GCeasy/JFR)、參數調優、分配率/晋升率測量
類載入機制雙親委派、Bootstrap/Extension/Application ClassLoader、模組類載入器、熱部署/熱替換原理打破雙親委派 (OSGi/SpringBoot)、ClassNotFound/NoClassDefFundebug、Arthas 診斷
JIT 編譯C1/C2/Graal、熱點偵測、內聯、逃逸分析、標量替換、去優化、Code Cache-XX:CompileThreshold、PrintCompilation、JITWatch 分析
診斷工具箱jcmd/jstat/jmap/jstack/jhsdb、JFR/JMC、Arthas、async-profiler、HeapDump/ThreadDump 分析線上 CPU 火焰圖、記憶體洩漏鏈鎖定、死鎖/活鎖定位

三、核心 API 必修課 (JDK 17+)

  1. java.lang:String/StringBuilder、Math/StrictMath、System/Runtime、ProcessHandle、StackWalker、ModuleLayer
  2. java.util:Collections/Arrays/Objects、Optional、Comparator/Comparator.comparing、Random/SplittableRandom、Base64、ServiceLoader、Timer/ScheduledExecutorService
  3. java.util.concurrent:AQS 衍生類、ConcurrentHashMap/LongAdder/LongAccumulator、CompletableFuture (thenCompose/thenCombine/allOf/anyOf)、Flow API (Reactive Streams)
  4. java.time:Instant/LocalDateTime/ZonedDateTime/Duration/Period、DateTimeFormatter、TemporalAdjuster、ZoneRulesProvider
  5. java.nio:Path/Files/Attribute、Channel/Buffer/Selector、FileChannel.map、AsynchronousFileChannel
  6. java.net.http:HttpClient/HttpRequest/HttpResponse、WebSocket、HTTP/2 多工
  7. java.security/crypto:MessageDigest/Signature/Cipher/KeyPairGenerator/KeyStore/PKIX、JCA Provider 機制
  8. javax.sql / java.sql:JDBC 4.3、DataSource/ConnectionPoolDataSource、ShardingSphere/HikariCP 整合
  9. java.lang.foreign (JEP 442/454):MemorySegment、Arena、Linker、FunctionDescriptor、JNI 替代方案

四、工程化與工具鏈 (區分「寫得出來」與「交付得上線」)

維度必會工具/實踐進階指標
建構Maven/Gradle 多模組、Wrapper、依賴管理 (BOM/平台)、Profiling、發布到 Nexus/ArtifactoryGradle Configuration Cache、Composite Build、依賴替換規則
測試JUnit 5 (參數化/巢狀/動態)、Mockito/AssertJ、Testcontainers、Spring Test、JaCoCo 覆蓋率門檻Contract Testing (Pact)、Mutation Testing (PIT)、ArchUnit 架構測試
靜態分析SpotBugs、Checkstyle (Google/Alibaba 風格)、PMD、SonarQube Quality GateError Prone、NullAway、自訂規則
版控/分支策略Git Flow / Trunk-Based Development、Conventional Commits、Rebase vs Merge、Git Hooks (Husky)Monorepo 工具 (Bazel/Turborepo)、Gerrit Code Review
CI/CDGitHub Actions/GitLab CI/Jenkins、建構/測試/掃描/鏡像構建/部署流水線、快照/發布版本區分Gradle Build Scan、Kepler/Keptn 持續驗證、Canary/Blue-Green 部署
容器化Dockerfile 最佳化 (多階段、非 root、層快取)、jlink 精簡 JRE、Spring Boot 3 / GraalVM Native ImageDistroless/Chainguard 基礎鏡像、SBOM 生成、Cosign 簽名驗證
可觀測性Micrometer + Prometheus/Grafana、OpenTelemetry Java Agent、結構化日誌 (Logback/Log4j2 JSON)、Trace ID 傳遞eBPF 級別追蹤、持續剖析、SLO/SLI 定義與告警

五、軟設計計與架構思維

  • SOLID / DRY / KISS / YAGNI / LoD 內化為程式碼審查標準
  • 設計模式:23 經典 + 企業級模式 (Gateway/Aggregator/Saga/CQRS/Event Sourcing)
  • 領域驅動設計 (DDD):實體/值物件/聚合根/領域事件/倉儲/工廠/領域服務、限界上下文、上下文映射
  • 架構風格:模組化單體 → 微服務 → Serverless → 模組化單體 (模組化演進)
  • 資料一致性:本地事務、分散式事務 (2PC/3PC/TCC/Saga/Eventual Consistency)、Outbox Pattern
  • API 設計:RESTful 成熟度模型、GraphQL Schema 設計、gRPC/Protobuf、版本相容策略

自我評分指南

得分區間等級建議行動
90-100專家輸出技術部落格/開源/內部分享、推動團隊工程化升級
75-89高級工程師補齊短板 (通常是 JVM/架構/工程化)、帶領專案攻關
60-74中級工程師系統補完集合/並發/JVM、建立個人知識庫、參與 Code Review
<60初/中級制定半年學習計畫、找導師、重點攻克語言核心 + 單元測試

結語

技術棧更新快,核心內功慢。把清單變成週期性複習計畫 (如每季複習一欄),配合實戰專案刻意練習,才能在「會用」與「精通」之間拉開差距。

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