Java Visual VMのメモリサンプリング機能を使用していますが、質問に答えることができません。
なぜこれほど多くのインスタンスが作成されるのですか?
これらのインスタンスとバイトの数が増え続けるのはなぜですか?
たとえば、次のように非常に単純なJavaプログラムを作成しました。
public class TestMemory{
public static void main(String[] args) throws InterruptedException {
System.out.println("Hello");
Thread.sleep(60 * 60 * 1000);
}
}
そして、JavaVisualVMには611のクラスがあることがわかります。インスタンスの数は、25,000から50,000近くまで増加し続け、その後、約25,000にフォールバックします。インスタンスが減少する理由はGCが原因である可能性がありますが、プログラムで何もしていないのに、なぜこれらの数値がそれほど動的であるのかわかりません。