[解決済み] GsonインスタンスをモデルBeanの静的フィールドとして使用する(再利用する)ことは問題ないでしょうか?
2022-04-27 14:16:19
質問
私が実装したモデルはこちらです。
public class LoginSession {
private static final Gson gson = new Gson();
private String id;
private String name;
private long timestamp;
public LoginSession(String id, String name) {
this.id = id;
this.name = name;
this.timestamp = System.currentTimeMillis();
}
public String toJson() {
return gson.toJson(this);
}
public static LoginSession fromJson(String json) {
checkArgument(!isNullOrEmpty(json));
return gson.fromJson(json, LoginSession.class);
}
}
LoginSessionのインスタンスごとに新しいGsonインスタンスを作成するのは無駄だと思いました。
しかし、心配なのはスレッドセーフの問題です。約1000個以上/秒のインスタンスが作成される予定です。
Gsonインスタンスをstaticフィールドとして使用しても問題ないでしょうか?
アドバイスやご指摘をよろしくお願いします。
解決方法は?
私にはちょうどいいようです。の特定のインスタンスに関連するような GSON インスタンスには何もありません。
LoginSession
ということで、静的であるべきです。
GSONインスタンス スレッドセーフでなければならない があり、そこに に関するバグ を修正しました。
関連
-
この行に複数のマーカーがある - HttpServletResponseが型エラーに解決できない
-
マスキング このリソースにアクセスするには、完全な認証が必要です。
-
が 'X-Frame-Options' を 'deny' に設定しているため、フレーム内にある。
-
自動配線された依存性のインジェクションに失敗しました。
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
スレッド "main" で例外発生 java.net.BindException: アドレスは既に使用中です。NET_Bind
-
javax.net.ssl.SSLException: 読み取りエラー: ssl=0xdeae5100: システムコール中の I/O エラー、接続 res
-
java -serverコマンドで「Error: no `server' JVM at ... jvm.dll」を解決する方法です。
-
[解決済み] 静的メソッドを使用する場合
-
[解決済み] Javaリフレクションを用いた静的なプライベートfinalフィールドの変更
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Spring Boot による HTTPS アクセスの設定
-
Eclipseで "XXXX "の解決策を(型に)解決することができない
-
javaで非静的な解を静的な参照にすることができない
-
javaの模造品QQ WeChatのチャットルーム
-
Enumとの組み合わせでswitchの使い方を一度覚えるために必要な定数式
-
コンストラクタの呼び出しは、コンストラクタのエラー理解の最初のステートメントである必要があります。
-
サーブレットクラスのインスタンス化エラーの解決法
-
linux run jarfile Invalid or corrupt jarfile error.
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
起動時にEclipseエラーが発生しました。起動中に内部エラーが発生しました。java.lang.NullPoin: "Javaツーリングの初期化 "中に内部エラーが発生しました。