K
Câu hỏi phỏng vấn Java
Câu hỏi

Enum trong Java có an toàn với luồng (thread-safe) đến mức nào?

Câu trả lời

Trong Java, enum được thiết kế để là an toàn với luồng (thread-safe) mặc định. Khi sử dụng enum để triển khai mẫu thiết kế Singleton, như được khuyến nghị trong cuốn sách "Effective Java" của Joshua Bloch, bạn không cần phải lo lắng về vấn đề an toàn luồng cho instance singleton của mình.

Các lợi ích chính của việc sử dụng enum để triển khai Singleton bao gồm:

  1. An toàn với Luồng: JVM đảm bảo rằng instance của enum được tạo ra một cách an toàn với luồng. Điều này loại bỏ nhu cầu phải sử dụng các kỹ thuật khác như double-checked locking hoặc volatile để đảm bảo rằng instance singleton được tạo một cách an toàn.
  2. Serialization: Một vấn đề phổ biến với các triển khai Singleton thông thường là khi một instance của Singleton được serialize và sau đó des...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Bạn có thể truy cập biến non-static trong static context không?

middle

Trong Java HashMap hoạt động như thế nào?

middle

Giải thích các trạng thái của thread ở một high-level?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào