言い換えると:
System.gc()
オブジェクト インスタンス (収集されていない) を呼び出した後、呼び出し前と同じように世代間で分散されているかどうかを知る必要がありますSystem.gc()
。
ありがとう、
言い換えると:
System.gc()
オブジェクト インスタンス (収集されていない) を呼び出した後、呼び出し前と同じように世代間で分散されているかどうかを知る必要がありますSystem.gc()
。
ありがとう、
System.gc() がトリガーされる場合とトリガーされない場合があるフル GC の後、
つまり、世代間で System.gc() がオブジェクトを変更しないのは、次の場合だけです。
これが System.gc() の呼び出しが悪である別の理由である可能性がある場合
主な理由は、パフォーマンスが低下し、見返りがほとんど得られないためです。注: RMI は定期的に完全なコレクションをトリガーして、分散オブジェクトを確実にクリーンアップすることができますが、これを最小限に抑えようとします。
まず第一にSystem.gc()
、GC が必要であるという JVM へのヒントにすぎません。GC がトリガーされない可能性があり (-XX:+DisableExplicitGC
たとえば、Hotspot で使用する場合)、何かを行うことに依存するべきではありません。JVM は通常、とにかくよく知っています。
それが GC をトリガーする場合、それは他の GC と同様であり、オブジェクトが基準を満たしていれば、オブジェクトは若い世代から古い世代に昇格される可能性があります (たとえば、サバイバー スペースで十分な世代が費やされます)。