126 bài viết

Mảng động nới rộng 1.5x và bí mật amortized O(1), vì sao 'LinkedList chèn giữa nhanh' là hiểu lầm, số đo thật — và duyệt/xóa an toàn với removeIf.

Hóa đơn count(*) sau mỗi Page, Slice với mẹo size+1, vì sao offset sâu vừa chậm vừa trôi dữ liệu — và keyset pagination bằng con trỏ (createdAt, id).

Cây phân cấp Collection/Map, lời hứa của List–Set–Queue–Map, cây quyết định 4 câu hỏi và bảng Big-O — la bàn hiệu năng cho 10 ngày Collections sắp tới.

Task API gom Ngày 11–29 vào một: DTO + validation, ProblemDetail, phân trang, transaction ở service, auditing — và checklist review để tự chấm mọi CRUD API.

Bài tổng hợp 20 ngày OOP: phân tích đề bài, tổ chức package model/repository/service/app, áp dụng đủ 4 trụ cột — và kiến trúc phân tầng sẽ gặp lại trong Spring.

BaseEntity với @CreatedDate/@LastModifiedDate, AuditorAware cho @CreatedBy, những chỗ auditing không chạy (bulk update, JDBC) — và cách test tất định bằng DateTimeProvider.

Công thức lớp bất biến, vì sao final chưa đủ và defensive copy hai chiều, List.copyOf vs unmodifiableList — và món quà thread-safe không cần lock.

ACID, proxy đứng sau @Transactional, propagation REQUIRED vs REQUIRES_NEW, quy tắc rollback với bất ngờ checked exception — và bẫy self-invocation.