Mặc dù an toàn khi khai báo ObjectMapper tĩnh về mặt an toàn của luồng, bạn nên lưu ý rằng việc xây dựng các biến Object tĩnh trong Java được coi là thực tiễn xấu. Để biết thêm chi tiết, xem Tại sao các biến tĩnh được coi là xấu? (và nếu bạn thích, câu trả lời của tôi )
Nói tóm lại, nên tránh các số liệu thống kê vì khó viết bài kiểm tra đơn vị ngắn gọn. Ví dụ, với ObjectMapper tĩnh cuối cùng, bạn không thể trao đổi tuần tự hóa JSON cho mã giả hoặc không có op.
Ngoài ra, một trận chung kết tĩnh ngăn bạn không bao giờ cấu hình lại ObjectMapper khi chạy. Bây giờ bạn có thể không hình dung ra một lý do cho điều đó, nhưng nếu bạn tự khóa mình vào một mẫu cuối cùng tĩnh, không có gì xé nát trình nạp lớp sẽ cho phép bạn khởi tạo lại nó.
Trong trường hợp ObjectMapper thì tốt, nhưng nói chung, đó là một thực tiễn tồi và không có lợi thế nào khi sử dụng một mẫu đơn hoặc điều khiển đảo ngược để quản lý các đối tượng tồn tại lâu dài của bạn.
ObjectMapper
vẫn an toàn sau khiObjectMapper#setDateFormat()
được gọi. Nó được biết rằngSimpleDateFormat
không phải là chủ đề an toàn , do đóObjectMapper
sẽ không được trừ khi nó nhân bản, ví dụSerializationConfig
trước mỗiwriteValue()
(tôi nghi ngờ). Bạn có thể làm giảm nỗi sợ hãi của tôi?