Trong bài này, tôi muốn chia sẽ với các bạn một vài kinh nghiệm code để hạn chế lỗi NullPointerException (NPE) trong chương trình Java. Nguyên tắc chung: KHÔNG khởi tạo, truyền tham số, trả kết quả về là một giá trị NULL và giữ cho code càng đơn giản càng tốt. Dưới đây là một […]
Giới thiệu WatchService API trong Java
Giới thiệu Khi đang chỉnh sửa một tệp, sử dụng một IDE hay một trình soạn thảo khác, và một hộp thoại xuất hiện để thông báo cho bạn rằng một trong các tệp đang mở đã thay đổi trên hệ thống tệp và cần được tải lại? Hay một trình quản lý file có […]
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 […]
Date Time trong Java 8
Trong bài các bài viết trước, tôi đã Giới thiệu về kiểu Date Time trong Java. Trong bài này, chúng ta sẽ tìm hiểu thêm một số tính năng mới của Date Time trong Java 8. Tại sao chúng ta cần API Date Time mới? Trước khi tìm hiểu một số API mới, chúng ta hãy […]
Sắp xếp trong Java 8
Trong bài giới thiệu TreeSet và giới thiệu lớp tiện ích Collections, Arrays trong Java, tôi đã giới thiệu với các bạn cách tạo bộ so sánh sử dụng Comparable, Comparator và cách sắp xếp các phần tử trong một Collection, Array. Trong bài này, chúng ta sẽ tổng hợp lại các cách sắp xếp trong Java […]