Bài viết với tag "java"
[Advanced Java] Optional trong Java: một return type, không phải thuốc chữa NullPointerException
Optional trong Java trên OpenJDK 21: vì sao nó sinh ra cho return type chứ không phải để thay thế null, hai trạng thái hợp lệ và cái reference null phá hỏng tất cả, toàn bộ hai mươi method nhóm theo mục đích, cái bẫy orElse so với orElseGet đếm bằng số lần gọi database, map so với flatMap kèm error thật của javac, năm vị trí Optional làm code tệ đi, và ba chỗ nó thực sự thuộc về.
[Advanced Java] Functional Interface trong Java: Supplier, Consumer, Function và Predicate
Functional interface trong java.util.function trên OpenJDK 21: lưới shape đứng sau cả 43 interface, @FunctionalInterface thực sự kiểm tra cái gì, vì sao một abstract equals không phá vỡ quy tắc một abstract method, andThen và compose, các combinator của Predicate và Consumer, primitive specialisation cùng phần boxing chúng loại bỏ, và cách tự viết một cái cho riêng mình.
[Advanced Java] Lambda Expression trong Java: cú pháp, target typing và method reference
Lambda expression trong Java trên OpenJDK 21: đầy đủ các dạng cú pháp kể cả var parameter, target typing chứng minh bằng cách gán một đoạn text cho ba interface, luật effectively final khi capture kèm error thật của javac, this bên trong lambda, bốn loại method reference, và vì sao bound reference đánh giá receiver ngay lập tức.
Stream API của Java trên OpenJDK 21: pipeline gồm source, intermediate và terminal, tính lazy được chứng minh bằng trace println xen kẽ, map, filter, cả ba overload của reduce, collect cùng bộ Collectors, primitive stream và chi phí allocation của boxing, và các bẫy quanh peek, findAny, lambda có state cùng parallelStream.
java.util.Collections trên OpenJDK 21 sắp xếp theo đúng bản chất từng nhóm method: các algorithm ghi đè tại chỗ cùng mẹo insertion point của binarySearch, nCopies trả về một reference lặp n lần, ba wrapper unmodifiable, synchronized và checked vốn là view chứ không phải bản copy, checkedList bắt heap pollution ngay lúc insert, và các immutable factory đã thay thế phân nửa số method cũ.
[Advanced Java] Comparable vs Comparator trong Java: Natural Ordering và Sắp Xếp Tùy Chỉnh
Comparable và Comparator trên OpenJDK 21: contract đầy đủ của compareTo, API factory và combinator của Comparator, vì sao reversed đảo mọi key đã compose, bug trừ hai số int, IllegalArgumentException từ TimSort chỉ nổ với input lớn, xử lý null và tính stable của sort.