Ich bin für die Erteilung einer einmaligen Kopie jedes Objekts in Runtime ein Singleton mit:Singleton über Sammlungen von Objekten in Java und Garbage Collector
Car object1= CarFactory.createCar(id);
wo die createCar Methode ist:
private static ArrayList<Car> cars= new ArrayList<Car>();
public static synchronized Car createCar(int id){
Car result= new Car(id);
int index= cars.indexOf(result);
if (index==-1){
cars.add(result);
return result;
} else {
return cars.get(index);
}
}
Das Problem ist, dass bei dieser Methode jedes Auto aufgrund der "Autosammlung" immer eine Referenz hat und der Objektspeicher nie freigegeben wird. Wie kann ich es verbessern?
Sollte nicht '' static' sein cars' ? – Jeffrey
Ja, es war ein Transcript-Fehler – Addev
Das erste, was ich tun würde, ist das Entfernen der veränderlichen Statik. –