Quản lý bộ nhớ ngôn ngữ bậc cao

Ai giải phóng bộ nhớ bạn cấp phát — bạn hay runtime. Bài học cấp phát thủ công (C) vs garbage collection (Java/Go/Python), ref-counting vs tracing GC, vì sao vẫn rò bộ nhớ dù có GC, và một capstone tối ưu cache miss đo trước-sau.

6 bài · ~99 phútMiễn phí

Nội dung

Danh sách bài học

  1. 01

    Module 4 — Quản lý bộ nhớ ngôn ngữ bậc cao: tổng quan

    Ai giải phóng bộ nhớ bạn cấp phát — bạn hay runtime. Module so sánh cấp phát thủ công với GC, ref-counting vs tracing, và vì sao vẫn rò bộ nhớ dù có GC.

    ~10 phút
  2. 02

    Cấp phát thủ công vs garbage collection — ai dọn rác

    malloc/free đặt trách nhiệm lên lập trình viên; GC tự thu qua reachability. So sánh an toàn, chi phí, tradeoff, và các bug điển hình của mỗi phía.

    ~18 phút
  3. 03

    Ref-counting vs tracing GC — hai cách tìm rác

    Ref-counting giải phóng tức thì nhưng bỏ sót chu trình; tracing GC bắt được mọi rác nhưng gây stop-the-world pause. Mark-and-sweep và generational GC.

    ~18 phút
  4. 04

    Vì sao vẫn rò bộ nhớ dù có GC — logical leak

    GC chỉ thu object không còn ai giữ tham chiếu. Object vẫn reachable nhưng không bao giờ dùng nữa — logical leak — là thứ GC không cứu được.

    ~16 phút
  5. 05

    Mini-challenge — tái cấu trúc AoS sang SoA để giảm cache miss

    Capstone khoá Bộ nhớ: refactor mảng Particle (AoS) sang struct of arrays (SoA), đo thời gian trước-sau bằng nanoTime, thảo luận kết quả.

    ~25 phút
  6. 06

    Module 4 — Tổng kết & cheat sheet

    Recap quản lý bộ nhớ ngôn ngữ bậc cao: manual vs GC, ref-counting vs tracing, logical leak, AoS→SoA. Cheat sheet, glossary, pitfall tổng hợp.

    ~12 phút