OLHub

Java Internals & Concurrency

Concurrency, I/O, JVM internals — debug performance và memory leak

Tier 3 · Senior3 module · 18 bài · 7.7h

Sau khoá này bạn sẽ

Kết quả học tập

  • Explain JMM happens-before, volatile, synchronized — predict race condition
  • Implement thread-safe class với 3 chiến lược: immutable, lock, atomic
  • Diagnose memory leak qua heap dump + jvisualvm
  • Compare blocking I/O vs NIO selector và choose đúng usecase
  • Predict hành vi GC khi tune -Xmx, -XX:+UseG1GC trên workload thực tế

Nội dung

3 modules

  1. 01

    Concurrency cơ bản

    Thread, Runnable, synchronized, volatile, ExecutorService, CompletableFuture, concurrent collections, virtual threads (Java 21). Hiểu memory model, happens-before, và vì sao concurrency khó hơn bạn nghĩ.

    6 bài · 2.5h
  2. 02

    I/O & NIO

    File I/O cổ điển (InputStream/Reader), NIO.2 (Path/Files), byte vs char stream, buffered I/O, serialization (Serializable caveats), đọc file với Stream API. Khi nào dùng API nào cho workload thực tế.

    5 bài · 2h
  3. 03

    JVM Internals

    Class loading, bytecode (javap), JIT compiler (C1/C2/tiered), memory layout (heap/metaspace/stack), garbage collector (G1/ZGC/Parallel), tools chẩn đoán (jstack/jmap/jstat/JFR). Hiểu máy bên dưới để debug khi production đi sai và optimize khi cần.

    7 bài · 3.2h