ホームページ > Java > &#&チュートリアル > 静的フィールドはいつガベージ コレクションできるようになりますか?

静的フィールドはいつガベージ コレクションできるようになりますか?

Linda Hamilton
リリース: 2024-11-30 18:51:19
オリジナル
304 人が閲覧しました

When Can Static Fields Be Garbage Collected?

静的フィールドがガベージ コレクションの対象となるのはどのような場合ですか?

静的変数を含むクラスは、クラスがロードされている限り、ガベージ コレクターによってアンロードされることはありません。静的変数は、クラスが使用されなくなった場合でも、プログラムの実行中はメモリ内に残ります。

class MyUtils {
   private static MyObject myObject = new MyObject();
   /*package*/static boolean doStuff(Params... params) {
       // do stuff with myObject and params...
   }
}
ログイン後にコピー

この例では、myObject は静的変数であるため、 MyUtils クラスがアンロードされるまで、ガベージ コレクションの対象にはなりません。クラスは決してアンロードされないため、myObject はプログラムの存続期間中メモリ内に残ります。

例外

JLS セクション 12.7 の「クラスとインターフェイスのアンロード」では、クラスまたはインターフェイスは次のとおりです。定義するクラスローダーがガベージコレクターによって再利用される可能性がある場合は、アンロードされます。ブートストラップ ローダーによってロードされたクラスとインターフェイスはアンロードできない場合があります。

以上が静的フィールドはいつガベージ コレクションできるようになりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート