[解決済み】JacksonのObjectMapperはstaticフィールドとして宣言すべき?
2022-03-24 20:35:16
質問
ジャクソン・ライブラリの
ObjectMapper
クラス
はスレッドセーフのようです
.
を宣言する必要があるということでしょうか?
ObjectMapper
を静的フィールドとして使用します。
class Me {
private static final ObjectMapper mapper = new ObjectMapper();
}
インスタンスレベルのフィールドとしてではなく、このように?
class Me {
private final ObjectMapper mapper = new ObjectMapper();
}
解決方法は?
はい、それは安全であり、推奨されることです。
参照したページの唯一の注意点は、一度共有したマッパーの設定を変更してはいけないということですが、設定を変更していないので問題ありません。もし、設定を変更する必要がある場合は、静的ブロックから行うことになりますが、これも問題ありません。
EDIT : (2013/10)
2.0以上では、さらに良い方法があることに注意して、上記を補強することができます。
ObjectWriter
と
ObjectReader
オブジェクトを構築することができます。
ObjectMapper
.
これらは完全に不変であり、スレッドセーフであるため、スレッドセーフの問題を引き起こすことは理論的にも不可能です(これは
ObjectMapper
もしコードがインスタンスを再構成しようとしたら)。
関連
-
[解決済み] Eclipse デフォルトのフォント名
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] Could not find or load main class "とはどういう意味ですか?
-
[解決済み] 静的メソッドを使用する場合
-
[解決済み] なぜJavaのVector(およびStack)クラスは時代遅れ、または非推奨とされているのですか?
-
[解決済み] 静的変数が悪とされるのはなぜですか?
-
[解決済み】クラスで「static」キーワードは何をするのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] getContentPane()は具体的に何をするのですか?
-
[解決済み] Application startメソッドで例外が発生する。JavaFx 11
-
[解決済み] 環境変数JAVA_OPTSの使い方を教えてください。
-
[解決済み] android.support.v4.app.FragmentActivity' で 'TAG' がプライベートアクセスされている。
-
[解決済み] JOGLまたはLWJGLの既成のプロジェクト
-
[解決済み] javascriptでExpression言語を使うには?
-
[解決済み] javax.naming.NameNotFoundException
-
[解決済み] raw 型のメンバへのアンチェックの呼び出し
-
[解決済み] java.lang.ClassCastException: java.lang.Long を java.lang.Integer にキャストできない(java 1.6
-
[解決済み] 静的変数が悪とされるのはなぜですか?