Command Palette

Search for a command to run...

Bài viết với tag "java"

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.

[Advanced Java] Stream API trong Java: map, filter, reduce và collect

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.

[Advanced Java] Class Collections trong Java: algorithm, wrapper và factory

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.