[Đối tượng] Chương 2. Lập trình hướng đối tượng Tài liệu mô tả phương pháp luận lập trình hướng đối tượng để triển khai hệ thống đặt vé xem phim, bao gồm các khái niệm như hợp tác, đối tượng, lớp, kế thừa, đa hình, trừu tượng hóa, tổng hợp. Nó trình bày cách bảo đảm tính tự trị của đối tượng, nâng cao
[Đối tượng] Chương 1. Đối tượng, thiết kế Trong phát triển phần mềm, thực hành quan trọng hơn lý thuyết, và thiết kế tốt giúp làm cho mã dễ hiểu hơn và dễ dàng đáp ứng những thay đổi. Đối tượng thiết kế hướng đối tượng cung cấp một phương pháp quản lý sự phụ thuộc giữa các đối tượng hợp tác một c
[Hiệu quả Java] Mục 6. Tránh tạo đối tượng không cần thiết Hướng dẫn về cách giảm thiểu việc tạo đối tượng không cần thiết trong Java. Đối với các đối tượng bất biến như String, Boolean, nên sử dụng literal, và đối với biểu thức chính quy, tốt nhất nên cache instance Pattern. Ngoài ra, việc auto-boxing có thể dẫn
[Effective Java] Mục 5: Sử dụng tiêm phụ thuộc thay vì khai báo tài nguyên Nếu lớp phụ thuộc vào tài nguyên bên ngoài, nên tránh sử dụng lớp tiện ích tĩnh và singleton. Tiêm phụ thuộc giúp cải thiện tính linh hoạt, khả năng tái sử dụng và khả năng kiểm tra của lớp, và sử dụng mô hình phương thức nhà máy có thể giúp tiêm phụ thuộ
[Effective Java] Mục 4. Sử dụng constructor private để ngăn chặn việc khởi tạo instance Đối với các lớp tiện ích chỉ chứa các phương thức và trường tĩnh, nên đặt quyền truy cập của constructor thành private để ngăn chặn việc khởi tạo instance. Điều này giúp ngăn chặn người dùng nhầm tưởng rằng constructor được tạo tự động và làm cho việc kế
[Hiệu quả Java] Mục 3. Đảm bảo Singleton bằng cách sử dụng private constructor hoặc enum Bài viết giới thiệu ba phương pháp thực hiện Singleton trong Java (thành viên public static, phương thức nhà máy tĩnh, loại enum) và giải thích ưu điểm, nhược điểm của mỗi phương pháp cũng như lưu ý khi serialize. Bài viết đưa ra phương pháp sử dụng enum
[Effective Java] Mục 2. Sử dụng builder khi constructor có nhiều tham số Khi tạo đối tượng có nhiều tham số, sử dụng pattern builder có thể giúp viết code rõ ràng và dễ đọc hơn. Tạo đối tượng builder với các tham số bắt buộc, sử dụng setter method để thiết lập các tham số tùy chọn và sau đó gọi method build() để hoàn thiện đối
Hãy xem xét sử dụng các phương thức giao hàng tĩnh thay vì bộ khởi tạo - Mục 1 [Effective Java] Các phương thức giao hàng tĩnh có thể kiểm soát việc tạo đối tượng bằng tên, giúp việc này trở nên tiện lợi. Chúng cũng có thể trả về các đối tượng hiện có thay vì tạo mới mỗi lần, trở nên hiệu quả hơn. Mặc dù có nhược điểm là khó kế thừa, nhưng chúng phù
Java Collections Framework (JCF) là gì? - Định nghĩa và đặc điểm của JCF (JAVA) Java Collections Framework (JCF) là một tập hợp các lớp trong Java cung cấp một phương pháp tiêu chuẩn hóa để xử lý hiệu quả một lượng lớn dữ liệu. JCF triển khai các cấu trúc lưu trữ dữ liệu và các thuật toán thành các lớp để tăng cường khả năng tái sử d
[Spring] Filter, Interceptor, Argument Resolver là gì? Tìm hiểu chi tiết về khái niệm và sự khác biệt giữa Filter, Interceptor, Argument Resolver trong ứng dụng web Spring. Bài viết này sẽ phân tích cách thực hiện, thời điểm sử dụng, ưu nhược điểm của từng chức năng, đồng thời minh họa bằng ví dụ mã thực tế.
[Spring] Cách sử dụng @Async Tìm hiểu cách sử dụng Spring @Async để triển khai xử lý bất đồng bộ Java một cách dễ dàng. Với chú thích @Async, bạn có thể chuyển đổi các phương thức đồng bộ thành bất đồng bộ và cải thiện hiệu quả bằng cách thiết lập bộ lọc luồng. Bài viết cũng đề cập đ
[Java] Synchronized Collection vs Concurrent Collection Chúng tôi đã phân tích và so sánh các phương pháp khác nhau cũng như ưu điểm, nhược điểm để giải quyết các vấn đề đồng bộ khi sử dụng bộ sưu tập trong môi trường đa luồng trong Java. Vector, Hashtable, Collections.synchronizedXXX và các bộ sưu tập được đồ
equals() vs hashCode() Trong Java, `equals()` và `hashCode()` là những phương thức quan trọng được sử dụng để so sánh sự bằng nhau và bản sắc của đối tượng. `equals()` so sánh nội dung của các đối tượng có giống nhau hay không, trong khi `hashCode()` xác định xem các đối tượng
[Java] Khái niệm và cách sử dụng Reflection Reflection là một API cung cấp khả năng truy cập thông tin lớp và thao tác lớp trong khi chương trình Java đang chạy. Nó cho phép tạo lớp, truy cập trường và phương thức tại thời điểm chạy, nhưng có thể vi phạm đóng gói và gây ra hiệu suất thấp nên cần sử
[DB] Tiêu chí thiết lập bộ nhớ cache Đây là hướng dẫn thực hành về cách lưu trữ bộ nhớ cache cho dữ liệu được đọc thường xuyên nhưng hiếm khi được ghi. Sử dụng APM như DataDog để phân tích lịch sử cuộc gọi truy vấn RDB và hướng dẫn bạn cách chọn bảng có nhiều truy vấn truy vấn và ít truy vấn