Ich habe eine sehr leistungsabhängige Anwendung in Java. (Ich weiß, dass ich eigentlich C oder etwas anderes benutzen sollte. Aber jetzt ist es Java.) Ich versuche zu vermeiden, Objekte zu erschaffen und wegzuwerfen. Jetzt muss ich wissen, wie viel Müll noch gesammelt wird.
Wie kann ich das herausfinden?
Wenn möglich, möchte ich eine Art Nummer in Millisekunden oder Nanosekunden haben, die keine Installation von mehr Software erfordert.
Oder Sie können JVM die GC-Aktivität drucken lassen. Diese Einstellungen habe ich:
%Vor%Die GC-Aktivität wird in eine Datei logs / gc.log ..
gedrucktSie können Tools wie VisualVM verwenden, um die Anwendungsaktivität zu überwachen. Stellen Sie sicher, dass Sie geeignete GC-Algorithmen verwenden.
Oracle JVM bietet mehrere Arten von Garbage Collectors:
Lesen Sie mehr über diese Sammler hier .
Jprofiler , mit dem das Speicherprofil sowohl die Speicherauslastung als auch die dynamischen Zuordnungslecks und die CPU beurteilen kann Profiling, um Thread-Konflikte zu bewerten.
Tags und Links java garbage-collection performance