Gom toàn bộ kiến thức vào một dự án thật: cấu trúc Maven và pom.xml, chia lớp model–kho dữ liệu–service–giao diện, lưu file CSV, thống kê bằng Stream, cảnh báo ngân sách, viết kiểm thử JUnit 5, đóng gói file jar chạy được — và lộ trình học tiếp sau Java cơ bản.
Lập trình kiểu hàm trong Java: lambda và functional interface (Predicate, Function, Consumer, Supplier), tham chiếu phương thức ::, Stream với filter–map–reduce, sorted, collect, groupingBy, Optional thay cho null — cùng lời khuyên khi nào vòng lặp vẫn tốt hơn stream.
Khi chương trình gặp lỗi: đọc stack trace, try/catch/finally, checked và unchecked exception, throw và throws, tự định nghĩa ngoại lệ nghiệp vụ, try-with-resources tự đóng tài nguyên; đọc ghi file văn bản và CSV bằng Files, Path, UTF-8 — kèm các thói quen xử lý lỗi nên tránh.
Bộ sưu tập co giãn thay cho mảng: ArrayList, HashSet, HashMap và khi nào dùng loại nào; generics và kiểu bao (Integer), duyệt và xoá an toàn, danh sách bất biến List.of, sắp xếp bằng Comparable/Comparator, Deque làm ngăn xếp và hàng đợi, cùng độ phức tạp của từng thao tác.
Ba phương thức mọi đối tượng đều có — toString, equals, hashCode — vì sao phải ghi đè chúng cùng nhau và cái bẫy khi quên; record (Java 16+) viết lớp dữ liệu bất biến trong một dòng; enum cho tập giá trị cố định, có thuộc tính, phương thức và dùng trong switch.
Ba trụ cột còn lại của OOP: kế thừa với extends và super, ghi đè @Override, đa hình (một lời gọi, nhiều hành vi), lớp trừu tượng, interface và default method, instanceof với pattern matching, sealed + switch pattern, và nguyên tắc ưu tiên kết hợp (composition) hơn kế thừa.
Bước vào lập trình hướng đối tượng: lớp là bản thiết kế, đối tượng là thực thể; thuộc tính và phương thức, constructor, từ khoá this, đóng gói với private + getter/setter có kiểm tra, static khác gì instance, null và NullPointerException, package và tổ chức file.
Chia chương trình thành các phương thức nhỏ, mỗi phương thức một việc: khai báo, tham số và return, vì sao Java luôn truyền tham trị (kể cả với mảng), phạm vi biến, nạp chồng (overload), varargs, đệ quy và khi nào không nên dùng nó.
Lưu nhiều giá trị với mảng: khai báo, duyệt bằng for và for-each, Arrays.sort, tìm kiếm, mảng hai chiều; làm chủ String: bất biến, các phương thức hay dùng, equals vs ==, text block, String.format, StringBuilder khi nối chuỗi trong vòng lặp.
Dạy chương trình ra quyết định và lặp lại: if/else if/else, switch expression hiện đại với ->, yield và pattern, for, while, do-while, break/continue có nhãn, vòng lặp lồng nhau — qua các bài toán thật: xếp loại điểm, menu, đoán số, in bảng cửu chương.
Tám kiểu nguyên thuỷ của Java và khi nào dùng kiểu nào, biến và hằng, var, phép chia nguyên và phần dư, tràn số, so sánh số thực, ép kiểu rộng–hẹp, toán tử logic, độ ưu tiên — kèm các bẫy kinh điển người mới hay mắc.
Bắt đầu học Java đúng cách năm 2026: Java chạy thế nào (mã nguồn → bytecode → JVM), cài JDK 25 LTS, chọn IDE, viết Hello World theo kiểu mới của Java 25 và kiểu truyền thống, thử code nhanh bằng JShell — kèm lộ trình 12 bài của loạt.