Trong cuốn sách Java Concurrency In Practice, nó giải thích những ưu điểm của các đối tượng "không thay đổi có hiệu quả" so với các đối tượng có thể thay đổi đồng thời. Nhưng nó không giải thích những lợi thế "đối tượng bất biến hiệu quả" sẽ cung cấp hơn thực sự các đối tượng bất biến.Các đối tượng không thay đổi có hiệu quả có hợp lý không?
Và tôi không hiểu: bạn không thể luôn luôn xây dựng một đối tượng thực sự không thay đổi tại thời điểm bạn quyết định xuất bản an toàn đối tượng "không thay đổi hiệu quả"? (thay vì làm "ấn phẩm an toàn" của bạn, bạn sẽ xây dựng một đối tượng thực sự không thay đổi và đó là nó)
Khi tôi thiết kế các lớp học, tôi không thể xây dựng một đối tượng thật bất biến. sử dụng đoàn đại biểu nếu cần thiết vv để xây dựng các đối tượng bọc khác, bản thân họ thực sự immmutable của khóa học) tại thời điểm này tôi quyết định "xuất bản một cách an toàn".
Vì vậy, đối tượng "không thay đổi có hiệu quả" và "ấn bản an toàn" của họ chỉ là trường hợp thiết kế kém hoặc API kém?
Bạn sẽ bị buộc phải sử dụng đối tượng không thay đổi hiệu quả và bị buộc phải xuất bản an toàn nơi bạn không thể xây dựng một đối tượng thực sự vượt trội hơn nhiều?
Bất kỳ ví dụ nào về phương pháp này đều có sẵn? – user77115