Có cần thiết một hạt Java thực hiện giao diện Serializable
không?Tại sao Hạt Java phải được tuần tự hóa?
Trả lời
Đây là một trong những tính năng "điển hình" như được mô tả trong Javabeans specification.
Đây là trích đoạn của chương 2.1 Đậu là gì?
Individual Java Beans sẽ thay đổi trong chức năng họ hỗ trợ, nhưng các tính năng thống nhất tiêu biểu mà phân biệt một Bean Java là:
- Hỗ trợ cho “mẫn” để một công cụ xây dựng có thể phân tích như thế nào đậu hoạt động
- Hỗ trợ cho "tùy chỉnh" để khi sử dụng trình tạo ứng dụng, người dùng có thể tùy chỉnh giao diện và hành vi của hạt.
- Hỗ trợ cho "sự kiện" làm ẩn dụ giao tiếp đơn giản hơn có thể được sử dụng để kết nối lên hạt.
- Hỗ trợ cho "thuộc tính", cả cho tuỳ chỉnh và để sử dụng có lập trình.
- Hỗ trợ cho sự kiên trì, để một bean có thể được tùy chỉnh trong trình tạo ứng dụng và sau đó lưu trạng thái tùy chỉnh của nó và tải lại sau.
Và đây là một trích chương 5,5 Tóm tắt các Persistence:
Tất cả đậu phải hỗ trợ hoặc serialization hoặc Externalization.
Thực tế, không cần thiết để chức năng hoạt động. Nó sẽ nói chung cũng chỉ hoạt động tốt mà không cần thực hiện Serializable
. Tuy nhiên nó hữu ích bất cứ khi nào bạn muốn lưu trữ chúng "đồng bằng" trên đĩa cứng hoặc gửi "đồng bằng" qua mạng. Ví dụ khi đó là một phiên scoped đậu được lưu trữ trong phiên HTTP và máy chủ được confugured để tồn tại và làm sống lại HTTP phiên trong khi tắt/khởi động lại. Bất cứ khi nào, bất cứ khi nào bạn đối mặt với NotSerializableException
với tên lớp đủ điều kiện của bean trong thư thì đó là dấu hiệu đủ để cho phép nó triển khai Serializable
.
Có.
Theo định nghĩa - một hạt Java chính xác, nối tiếp POJO (đối tượng Java cũ), với hàm tạo không đối số và trường riêng với getters/setters.
- 1. Hạt sao lưu JSF có thể được tuần tự hóa?
- 2. Tại sao một lớp bên trong tuần tự không thể tuần tự hóa được?
- 3. Tại sao không phải thuộc tính thiết kế của tôi được tuần tự hóa trong ASPX
- 4. Tuần tự hóa Python - Tại sao chọn dưa?
- 5. Tại sao System.TimeSpan không thể tuần tự hóa XML?
- 6. Đại diện của Java đối tượng được tuần tự hóa
- 7. Tuần tự hóa trong java: tự động an toàn luồng?
- 8. Tuần tự hóa Java qua mạng
- 9. Tuần tự hóa tại Scala/Akka
- 10. Tại sao tài sản công cộng của tôi không được XmlSerializer tuần tự hóa?
- 11. Tại sao Hạt Java được gọi là "đậu"?
- 12. Tuần tự hóa Java với khởi tạo tĩnh
- 13. Tôi không biết tại sao lớp học của mình không thể được tuần tự hóa
- 14. Có phải ViewScoped beans được tuần tự hóa trên trang khi lưu trạng thái máy khách được bật không?
- 15. Tại sao cần thiết để đánh dấu một lớp là có thể tuần tự hóa?
- 16. Java "tuần tự hóa phương thức" của lớp ẩn danh
- 17. Thuộc tính nào phải được tuần tự hóa/deserialized trong lớp người dùng Symfony 2?
- 18. Tuần tự hóa Java với Trường thoáng qua
- 19. Tuần tự hóa Django của mô hình được kế thừa
- 20. Tuần tự hóa Java cho Lớp mở rộng
- 21. Tại sao XmlSerializer có thể tuần tự hóa các lớp trừu tượng chứ không phải giao diện?
- 22. Tuần tự hóa Java, ObjectInputStream.readObject(), kiểm tra xem sẽ chặn
- 23. StackOverflowError khi tuần tự hóa một đối tượng trong Java
- 24. Tuần tự hóa lớp ẩn danh trong Java
- 25. Kiểm tra mã hóa tuần tự
- 26. Tuần tự hóa một lớp tĩnh?
- 27. Tuần tự hóa nhanh/giải tuần tự hóa các cấu trúc
- 28. Unserialize trong Java một đối tượng php được tuần tự hóa
- 29. Tại sao tôi không thể tuần tự hóa một tuple trong C#?
- 30. Tại sao mmap() nhanh hơn IO tuần tự?
Còn về hạt 'ApplicationScoped', chúng có nên triển khai giao diện Serializable không? –