Trong bài này, tôi sẽ giới thiệu với các bạn cách sử dụng một số tính năng mới trong Java 8 như Lambda , Function, Supplier, … để refactor code của một số Design Pattern. Refactoring Strategy Design Pattern Strategy Pattern là gì? Các bạn xem lại bài viết “Hướng dẫn Java Design Pattern – […]
Tìm hiểu cơ chế Lazy Evaluation của Stream trong Java 8
Trong bài viết “Giới thiệu về Stream API trong Java 8” , chúng ta đã tìm hiểu về các đặc điểm, các làm việc của Stream trong Java 8. Ở bài viết này, tôi muốn giải thích kỹ hơn về cơ chế Lazy Evaluation của Stream trong Java 8. Như chúng ta đã biết, Stream […]
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Trong bài viết Loại bỏ các phần tử trùng trong một ArrayList , tôi đã giới thiệu với các bạn các cách để loại bỏ phần tử trùng trong một ArrayList với Java <= 7. Trong bài này, tôi sẽ giới thiệu với các bạn một số cách khác với sự hỗ trợ của các tính năng […]
Thực thi nhiều tác vụ cùng lúc như thế nào trong Java?
Trong bài viết về CompletableFuture, chúng ta đã tìm hiểu về cách sử dụng multi-thread trong Java 8. Trong bài này, chúng ta sẽ cùng xem cách sử dụng CompletableFuture trong một bài toán thực tế. Giả sử chúng ta có một ứng dụng cần thực hiện 2 công việc, tạm gọi là work1 và work2. […]
Base64 encoding và decoding trong Java 8
Trong bài này, chúng ta sẽ cùng tìm hiểu chức năng mã hóa (encode) và giải mã (decode) theo chuẩn Base64 trong Java 8 và sử dụng thư viện Apache Commons Code. Giới thiệu Encode và Decode là gì? Encode và Decode là những khái niệm dùng để chỉ đến việc chuyển đổi dữ liệu cho […]
String Joiner trong Java 8
Trong bài này chúng ta cùng xem một số cách cộng chuỗi (string concat/ joiner) trong Java và tính năng mới StringJoiner trong Java 8. Sử dụng StringBuilder/ StringBuffer Trước Java 8, để có thể ghép các chuỗi với một dấu phân cách, thường chúng ta phải lặp qua các phần tử của một mảng […]
Lập trình đa luồng với CompletableFuture trong Java 8
Trong bài viết Lập trình đa luồng với Callable và Future trong Java, tôi đã giới thiệu với các bạn về đối tượng Future trong Java. Khi sử dụng phương thức get() của đối tượng Future, chương trình của chúng ta sẽ bị block cho đến khi tất cả các tác vụ hoàn thành. Từ phiên […]
Annotation trong Java 8
Trong bài này, tôi sẽ giới thiệu với các bạn một số tính năng mới hỗ trợ cho Annotation trong Java 8 là Repeating annotation, Type Annotation. Nếu bạn chưa biết về Annotation, hãy xem bài viết Hướng dẫn sử dụng Java Annotation trước khi tiếp tục xem nội dung tiếp theo của bài viết. Repeating annotation Annotations […]