Mô hình bộ nhớ chương trình

Một chương trình đang chạy bố trí bộ nhớ thế nào. Bài học địa chỉ và con trỏ, stack frame và recursion, heap và cấp phát động, fragmentation — và khi nào dữ liệu sống ở stack, heap hay static.

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

Nội dung

Danh sách bài học

  1. 01

    Module 1 — Mô hình bộ nhớ chương trình: tổng quan

    Chương trình đang chạy bố trí bộ nhớ thế nào: địa chỉ và con trỏ, stack frame, heap và fragmentation — gốc rễ của stack overflow và rò bộ nhớ.

    ~10 phút
  2. 02

    Địa chỉ bộ nhớ và con trỏ — mọi biến sống ở đâu

    Địa chỉ là số thứ tự của ô nhớ; con trỏ chỉ là biến lưu địa chỉ. Hiểu điều này giải thích tham chiếu, NullPointerException và pass-by-value trong Java.

    ~16 phút
  3. 03

    Stack và stack frame — gọi hàm sống và chết thế nào

    Mỗi lời gọi hàm đẩy một stack frame chứa biến cục bộ và địa chỉ trả về. Hiểu stack giải thích biến cục bộ tự dọn, đệ quy, và vì sao StackOverflowError xảy ra.

    ~18 phút
  4. 04

    Heap và cấp phát động — dữ liệu sống lâu hơn hàm

    Heap cấp phát bộ nhớ kích thước tuỳ ý lúc chạy, sống tới khi được giải phóng. Hiểu allocator, fragmentation và vì sao heap chậm hơn stack giúp bạn dùng bộ nhớ đúng.

    ~18 phút
  5. 05

    Stack vs heap vs static — chọn vùng nhớ nào

    Ba vùng nhớ chính của một chương trình: stack (tự dọn, nhanh), heap (linh hoạt, tốn kém), static (sống suốt đời). Bài tổng hợp quy tắc chọn vùng đúng cho từng dữ liệu.

    ~16 phút
  6. 06

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

    Recap mô hình bộ nhớ chương trình: địa chỉ, con trỏ, stack frame, heap, fragmentation, ba vùng nhớ. Cheat sheet một trang, glossary, pitfall và self-assessment.

    ~12 phút