Part 01 · Nền tảng bắt buộc

Java Core

Học lại Java từ mô hình thực thi, hệ thống kiểu và hướng đối tượng đến collections, concurrency, virtual threads, bộ nhớ JVM và chẩn đoán production.

Baseline học tập: Java SE 21. Học để giải thích được cơ chế, tự viết được chương trình và biết bắt đầu điều tra vấn đề trong production.

chương và chuyên đề
18
câu hỏi phỏng vấn
62
lab thực hành
9
kết quả cần đạt
6

Trang 1.2 có 62 question entries: 59 câu được đánh số và 3 câu OOP không đánh số. Follow-up nằm trong từng entry, không phải một tổng số riêng.

1. Lộ trình học: Học → Nói → Làm → Kiểm tra

Cách học: đọc lý thuyết, tự chạy ví dụ, trả lời câu hỏi thành tiếng, làm lab không nhìn lời giải, sau đó dùng checklist để tìm lỗ hổng.

Bốn chặng dưới đây là đường đi trong Part 01. Chạy ví dụ ngay khi học lý thuyết; sau bước tự đánh giá, quay lại đúng phần chưa vững thay vì chỉ đọc lại toàn bộ.

“Tự đánh giá” ở mục 1.4 chính là trang Sai lầm & checklist. Các gợi ý minh chứng là cách tổ chức việc học, không bổ sung câu hỏi hoặc lab vào số lượng nguồn.

2. Kết quả cần đạt

Giữ sáu mục tiêu của Part 01. Dùng phần minh chứng gợi ý để tự kiểm tra mức độ làm chủ từng mục tiêu, không chỉ mức độ nhớ thuật ngữ.

Cách tự xác nhận: với mỗi mục tiêu, lưu giải thích của mình, ví dụ hoặc bằng chứng đã kiểm tra và điểm còn chưa chắc. Đây là gợi ý học tập bổ sung; checklist chi tiết vẫn nằm ở 1.4 Tự đánh giá.

3. Đọc tài liệu đúng câu hỏi

Hướng dẫn tra cứu bổ sung từ các nguồn chính thức; không thay thế 18 chương và chuyên đề ở mục 1.1.

Chọn specification hoặc tài liệu thiết kế theo phạm vi cần kiểm chứng.
NguồnTra cứu điều gì?Cách dùng khi học
Java SE 21 APIContract của class, interface và method. Tài liệu phân biệt Java SE API với API riêng của JDK. [1]Khi chọn Collections hoặc API concurrency, đọc contract và điều kiện sử dụng của đúng kiểu; không suy ra hành vi chỉ từ tên.
JLS 21Quy tắc ngôn ngữ: kiểu, hướng đối tượng, exceptions, execution và threads/locks. [2]Dùng để lý giải chương trình hợp lệ hay không và những quy tắc liên quan tới kết quả thực thi.
JVMS 21Class file, run-time data areas, instruction set, loading, linking và initialization. [3]Đối chiếu mô hình JVM với bytecode; tách mô hình trừu tượng khỏi một implementation cụ thể.
OpenJDK JEPTài liệu bối cảnh thiết kế; bắt đầu với JEP 444 về virtual threads do Oracle dẫn chiếu. [4] [5]Khi đọc một JEP, kiểm tra phạm vi và phiên bản áp dụng, rồi đối chiếu specification/API của JDK đang học.

4. Từ ví dụ học tập đến production

Bổ sung nghiên cứu: giữ baseline Java SE 21, chỉ đối chiếu phiên bản khác khi có nhãn rõ ràng.

PHẠM VI BẢO ĐẢM JVMS mô tả một máy trừu tượng; layout bộ nhớ, thuật toán GC và tối ưu nội bộ thuộc lựa chọn implementation. Không biến quan sát trên một JVM thành bảo đảm chung cho mọi JVM. [3]

TRADE-OFF Virtual threads hướng tới nhiều tác vụ chờ I/O; chúng không tự làm mã CPU-bound chạy nhanh hơn. Lợi ích về throughput phải gắn với workload, không phải một cam kết giảm latency cho mọi chương trình. [5]

Version caveat · đừng trộn kết luận giữa các JDK.

Trong JDK 21, blocking bên trong synchronized có thể giữ carrier thread do pinning. [5] JDK 24 thay đổi trường hợp này qua JEP 491. [6] Điều đó không có nghĩa mọi pinning biến mất: native method và foreign function vẫn cần được xem xét. [7]

Đề xuất thực hành: khi lưu kết quả lab, ghi JDK vendor/build, cấu hình JVM, môi trường và workload. Khi so sánh hiệu năng, giữ điều kiện đo rõ ràng, lưu kết quả thực tế và nêu giới hạn suy luận; overview này không đặt benchmark cố định hay khẳng định đã chạy các lab.