Mit Java (1.6) ist es besser, die clear() -Methode auf einer Liste aufzurufen oder einfach die Referenz erneut zu instanziieren?Bessere Praxis, um eine Liste neu zu instanziieren oder clear() aufzurufen
Ich habe eine ArrayList, die mit einer unbekannten Anzahl von Objekten gefüllt ist und regelmäßig "flushed" - wo die Objekte verarbeitet werden und die Liste gelöscht wird. Einmal geleert, ist die Liste wieder voll. Der Flush geschieht zu einer zufälligen Zeit. Die Anzahl in der Liste kann möglicherweise klein (10 Objekte) oder groß (Millionen Objekte) sein.
Also ist es besser, den "flush" Aufruf clear() oder neue ArrayList() zu haben?
Ist es überhaupt wichtig, sich über diese Art von Problemen Gedanken zu machen, oder sollte ich die VM sich Sorgen machen? Wie könnte ich den Speicher-Footprint von Java betrachten, um so etwas für mich selbst zu erledigen?
Jede Hilfe sehr geschätzt.
Beachte Jons Antwort bezüglich des Optimierungsteils - wenn du mit hoher Intensität arbeitest und es Langsamkeit gibt, dann profiliere es. Wenn das Löschen das Problem ist, können Sie es problemlos testen, indem Sie stattdessen eine neue Liste erstellen. Aber ansonsten, verwenden Sie, was am semantisch korrekt ist - d. H. Was der Code eigentlich versucht. – aperkins
Leistungsbezogene: [map-clear-vs-neu-Karte-welche-eins-wird-besser] (http://stackoverflow.com/questions/6757868/map-clear-vs-new-map-which- one-will-be-better) – nawfal