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 – […]
Danh sách bài viết Tháng Chín 2019
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
Producer/ Consumer là một ví dụ kinh điển về vấn đề đồng hóa các luồng (multi-threading synchronization). Trong bài này tôi sẽ giới thiệu với các bạn vấn đề này và cách giải quyết để giúp các bạn hiểu rõ hơn về Java concurrency và mutli-threading. Mô tả vấn đề Producer/ Consumer Vấn đề mô […]
Semaphore trong Java
Semaphore là gì? Semaphore là một cơ chế giúp quản lý các nguồn chia sẻ và đảm bảo access không bị tắc nghẽn. Có hai loại semaphore: binary semaphore và counting semaphore. Binary semaphore (Mutex): được dùng làm lock vì nó chỉ có 2 giá trị là 0 và 1. Hai giá trị này đại […]
Tạo số và chuỗi ngẫu nhiên trong Java
Tạo số ngẫu nhiên – Random number Trong Java để tạo một số ngẫu nhiên chúng ta có thể sử dụng class java.util.Random đã được hợp trong JDK. Có rất nhiều trường hợp sử dụng random, trong bài này tôi sẽ hướng dẫn các bạn sử dụng Random trong một số trường hợp thường gặp. Khởi […]
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 […]
Tổng hợp các bài viết về web services
Để dễ dàng cho các bạn theo dõi và tìm hiểu về cách xây dựng web service trong Java. Bài này mình sẽ tổng hợp lại toàn bộ các bài viết về REST và SOAP web service từ lúc xây dựng đến khi deploy ứng dụng lên web server. Tìm hiểu về Web Service Sau […]
Giới thiệu Castle Mock – Mock REST APIs và SOAP web-services
Trong quá trình phát triển hệ thống hoặc quá trình testing, một trong những vấn đề khó khăn là khi hệ thống của bạn cần tích hợp với một bên thứ ba (3rd party). Do sử dụng API của bên thứ ba nên chúng ta có thể gặp một số vấn đề sau: Bên thứ […]