Wenn Sie etwas schreiben, das häufig viele (1000) kleine Objekte erzeugt, sollten Sie versuchen, es für die Leistung zu minimieren? Vor allem, wenn Sie nicht wissen, auf welchem System es ausgeführt wird, von Low- bis High-End-Desktops oder sogar von Mobilgeräten. Für Handys habe ich gehört, dass das Erstellen vieler Objekte die Leistung ein wenig beeinträchtigt, obwohl ich nicht weiß, wie wahr das ist.
Ich habe ein Beispiel, das diese Idee gut zeigt. Angenommen, in einem Grafikprogramm gibt es eine Methode, die für alle Zeichnungen verwendet wird, die idealerweise aufgerufen werden drawPixel(Point)
. Es können Tausende von Punkten erstellt werden, und es kann häufig wiederholt werden, wie in einem Spiel, in dem es mehr als 60 Mal pro Sekunde aufgerufen werden kann. Alternativ drawPixel(int x, int y)
könnte verwendet werden, um die Erstellung vieler Punktobjekte zu minimieren.
In einem objektorientierten Design würde ich die Verwendung von Point bevorzugen. Die Verwendung primitiver Typen kann jedoch die Leistung erhöhen. Der Leistungsgewinn kann in den meisten Fällen vernachlässigbar sein, aber ich bin mir nicht sicher, was mobile oder ältere Maschinen betrifft. Was ist der Leistungsgewinn, wenn Sie so etwas tun, und sollte dies berücksichtigt werden?
System.getProperty("java.version")
(oder "java.vm.version") ist ein Ausgangspunkt.