[解決済み] Javaはコンストラクタでこれをリークする【重複】。
2022-02-08 01:33:46
質問
なぜ IDE はコンストラクタでこれをリークすると文句を言うのですか?私はいつも、それは単に悪い習慣だと思い込んでいました。しかし、なぜそれが悪いことなのか、実はわかっていません。
解決方法は?
が漏れている。
this
の参照は
コンストラクタ
(コントローラではない) は、特にマルチスレッド環境では危険です。これは、コンストラクタの呼び出しが終了するまで、オブジェクトが完全に構築されないからです。リーク
this
このため、コンストラクタから外部にアクセスすると、まだ完全に構築されていないオブジェクトにアクセスすることになります。このことは、シングルスレッド・プログラムでは必ずしも問題にならないかもしれません(可能性はありますが、この場合、問題はより明らかになります)。しかし、もし
this
が他のスレッドに漏れると、そのスレッドはオブジェクトの構築が完了する前に実際に何かをしようとすることができ、微妙で見つけにくいバグにつながるのです。
関連
-
[解決済み】"比較メソッドはその一般契約に違反する!"
-
[解決済み】Android Studioでタスク :app:compileDebugJavaWithJavac の実行に失敗しました。
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない
-
[解決済み】フォルダに書き込もうとすると「java.nio.file.AccessDeniedException」が発生する件
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】HTTPステータス 405 - リクエストメソッド「POST」はサポートされていません (Spring MVC)
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み】"比較メソッドはその一般契約に違反する!"
-
[解決済み] 解決済み】Javaが「型をインスタンス化できない」というエラーを返す [重複] [重複]
-
[解決済み] メソッドがスーパータイプのメソッドをオーバーライドまたは実装していない - Overrideの場合
-
[解決済み】非閉鎖文字リテラルエラー
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】Gradleがtools.jarを見つけ出さない
-
[解決済み] エラー - trustAnchors パラメータは空であってはなりません。
-
[解決済み】接続Java - MySQL : 公開鍵の取得は許可されていません。