Nội dung
Danh sách bài học
- 01~10 phút
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ớ.
- 02~16 phút
Đị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.
- 03~18 phút
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.
- 04~18 phút
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.
- 05~16 phút
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.
- 06~12 phút
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.