待つ方法があるのだろうか(秒)。Javaでメモリを測定してからガベージコレクションを呼び出し、しばらくしてからメモリを再度測定したいと思います。クォーツも考えましたが、複雑すぎて、スレッドと聞きました。スリープは正確ではありません..
ありがとう
待つ方法があるのだろうか(秒)。Javaでメモリを測定してからガベージコレクションを呼び出し、しばらくしてからメモリを再度測定したいと思います。クォーツも考えましたが、複雑すぎて、スレッドと聞きました。スリープは正確ではありません..
ありがとう
睡眠を参照してください。
Thread.sleep
現在のスレッドが指定された期間実行を一時停止します。これは、アプリケーションの他のスレッドまたはコンピュータシステムで実行されている可能性のある他のアプリケーションがプロセッサ時間を利用できるようにするための効率的な手段です。
もう少し正確なものが必要な場合は、nanoTimeを使用できます。
public static void sleepNanos (long nanoDuration) throws InterruptedException {
final long end = System.nanoTime() + nanoDuration;
long timeLeft = nanoDuration;
do {
if (timeLeft > SLEEP_PRECISION)
Thread.sleep (1);
else
if (timeLeft > SPIN_YIELD_PRECISION)
Thread.yield();
timeLeft = end - System.nanoTime();
} while (timeLeft > 0);
}
Thread.sleep(1000);
1秒間スリープします。
ただし、期待どおりにメモリを解放することはできません。GC を実行するには、 visualvmやyourkit
などのプロファイラー ツールを使用します。Netbeans を使用している場合は、プロファイラーが組み込まれています。