Nehmen wir an, ich habe eine Java-Anwendung, die ungefähr Folgendes tut:
- Initialisieren (dauert sehr lange, weil es kompliziert ist)
- Schnell ein paar Dinge erledigen
- Lange Zeit untätig warten (hier Ihr Lieblingsmechanismus)
- Gehen Sie zu Schritt 2.
Gibt es eine Möglichkeit, die JVM zu ermutigen oder zu zwingen, ihren Speicher während langer Leerlaufzeiten auf die Festplatte zu leeren? (z.B. am Ende von Schritt 2 einen Funktionsaufruf machen, der effektiv sagt "HEY JVM! Ich gehe jetzt für eine Weile schlafen.")
Es macht mir nichts aus, einen großen Teil des virtuellen Speichers zu verwenden, aber der physische Speicher ist auf dem Rechner, den ich verwende, sehr knapp, weil es viele Hintergrundprozesse gibt.