Collections Internals

Java Collections Framework nhìn từ bên trong: ArrayList.grow() và magic number 1.5x, HashMap separate chaining + treeify Java 8, resize và load factor. Đọc thẳng OpenJDK source — phần hiện thực JDK của các ý tưởng thuật toán (mảng động, hash table) học ở track Thuật toán.

3 bài · ~61 phútMiễn phí

Nội dung

Danh sách bài học

  1. 01

    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.

    ~8 phút
  2. 02

    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.

    ~28 phút
  3. 03

    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.

    ~25 phút