Trong bài viết Abstract class và Interface trong Java, mình có giới thiệu về Marker Interface. Tuy nhiên, có một số bạn vẫn chưa hiểu rõ hoặc chưa biết trường hợp nào cần sử dụng nó. Trong bài này, chúng ta sẽ cùng tìm hiểu chi tiết hơn về Marker Interface trong Java và một […]
Giới thiệu về Hibernate
Hibernate Framework là gì? ORM Như chúng ta đã biết, ORM (Object Relational Mapping) framework là một cơ chế cho phép người lập trình thao tác với database một cách hoàn toàn tự nhiên thông qua các đối tượng. Lập trình viên hoàn toàn không quan tâm đến loại database sử dụng SQL Server, MySQL, […]
Giới thiệu JDBC Connection Pool
Thiết lập kết nối cơ sở dữ liệu là một quá trình rất tốn tài nguyên và đòi hỏi nhiều chi phí. Hơn nữa, trong một môi trường đa luồng, việc mở và đóng nhiều kết nối thường xuyên và liên tục ảnh hưởng rất nhiều đến performance và tài nguyên của ứng dụng. Trong […]
Sử dụng JDBC API thực thi câu lệnh truy vấn dữ liệu
Trong bài này tôi sẽ hướng dẫn các bạn sử dụng các API của JDBC để thực thi các câu lệnh truy vấn dữ liệu. Chuẩn bị Trước khi đi vào chi tiết từng JDBC API, chúng ta cần chuẩn bị cơ sở dữ liệu để sử dụng làm demo. Để đơn giản, tôi sẽ […]
Hướng dẫn kết nối cơ sở dữ liệu với Java JDBC
Trong bài này tôi sẽ hướng dẫn các bạn sử dụng kết nối vào database sử dụng Java JDBC. JDBC là gì? JDBC (Java Database Connectivity) là một API chuẩn dùng để tương tác với các loại cơ sở dữ liệu quan hệ (database relationship). JDBC bao gồm một tập hợp các class và các […]
Refactoring Design Pattern với tính năng mới trong Java 8
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 – […]
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 […]