ガベージコレクションについて多くの質問がありましたが、私はそれらを通過しましたが、まだ疑問があります。Javaでのガベージコレクションの疑問
我々はガベージコレクションのJVMを強制することはできません場合は、
System.gc()
の必要性は何ですか?どのシナリオでそれは有用ですか?私は[エデン、SO、S1]若い世代と旧世代とどのようにオブジェクトに関する古い世代に若い世代から移動している知っています。オブジェクトは永続的な世代にいつ移動されますか?例えば、
mycar
オブジェクトには参照があり、ガベージコレクションの対象にはなりません。mycar
オブジェクトは永続的に生成されますか?私は静的変数は、永続的な世代に格納されていることを読みました。それらはガベージコレクションされ、永続的な世代にはどのようなオブジェクトが格納されますか?静的変数が永続世代に格納されている理由と、永続世代を使用する理由は何ですか?
私はオブジェクトがヒープメモリに格納されていることを知っています。すべてのアプリケーションに独自のヒープメモリがあるのは本当ですか?
はそれが
System.gc()
を呼び出すと、アプリケーションのパフォーマンスを低減し、我々のアプリケーションを遅くするというのは本当でしょうか?また、ガベージコレクションがJVMによって行われると、アプリケーションのパフォーマンスが低下し、アプリケーションの動作が遅くなる可能性があります。はどのケースでは、部分的ガベージコレクションが行われていると主なガベージコレクションが実行されたとき?
4)はい。すべてのアプリケーションには独自のヒープメモリがあります。 Uは、同じシステムで2つのdiff javaアプリケーションを実行することでこれを確認し、最大&ヒープサイズを提供することができます。 –
5)どのタイプのGCが起こっているかによって異なります。フルGCの場合、フルGC時間のアプリケーションを停止できる世界が停止します。これは、部分的なGCの場合には発生しません。 –
その場合、部分的および主要なgcが実行されます – FaisalAhmed