Nội dung
Danh sách bài học
- 01~8 phút
Module 4 — Collections Internals: tổng quan
Java Collections Framework nhìn từ bên trong: ArrayList.grow() 1.5x và HashMap chaining/treeify. Phần JDK hiện thực các ý tưởng thuật toán học ở track Thuật toán.
- 02~28 phút
Case Study: ArrayList.grow() — Vì sao 1.5x là magic number
ArrayList dùng 1.5x grow factor, std::vector dùng 2x — Oracle chọn sai? Đọc thẳng OpenJDK 21 source, đo benchmark, và phân tích 3 góc kỹ thuật để trả lời.
- 03~25 phút
HashMap internals — Separate chaining + treeify từ Java 8
HashMap O(1) vỡ khi attacker collide key chủ ý, spike CPU 100%. Đi sâu bucket array, separate chaining, treeify Java 8, resize, và khi nào O(1) thực sự đứng vững.