gpt4 book ai didi

java - 我应该将 jackson 的 ObjectMapper 声明为静态字段吗?

转载 作者:bug小助手 更新时间:2023-10-28 01:25:57 29 4
gpt4 key购买 nike

Jackson 库的 ObjectMapperseems to be thread safe .

这是否意味着我应该将我的 ObjectMapper 声明为像这样的静态字段

class Me {
private static final ObjectMapper mapper = new ObjectMapper();
}

而不是像这样的实例级字段?

class Me {
private final ObjectMapper mapper = new ObjectMapper();
}

最佳答案

是的,这是安全且推荐的。

您引用的页面中唯一需要注意的是,一旦共享映射器,您就不能修改映射器的配置;但是您没有更改配置,所以这很好。如果您确实需要更改配置,您可以从静态 block 中进行,也可以。

编辑:(2013/10)

对于 2.0 及以上版本,可以通过注意有一个更好的方法来扩充上述内容:使用 ObjectWriterObjectReader 对象,它们可以由 构造对象映射器。它们是完全不可变的、线程安全的,这意味着在理论上甚至不可能导致线程安全问题(如果代码尝试重新配置实例,ObjectMapper 可能会发生这种问题)。

关于java - 我应该将 jackson 的 ObjectMapper 声明为静态字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3907929/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com