Angenommen, ich tun:Erstellt GWT.create() immer ein neues Objekt im Browserspeicher?
VeryLargeObject o1 = GWT.create(VeryLargeObject.class();
VeryLargeObject o2 = GWT.create(VeryLargeObject.class();
...
VeryLargeObject o1000 = GWT.create(VeryLargeObject.class();
wo VeryLargeObject
eine Schnittstelle GWT Ressource ist, die extends com.google.gwt.i18n.client.Messages
.
Erstellt dieser Code 1000 neue Instanzen des Objekts im Browser? Oder ist GWT intelligent genug, um zu erkennen, dass VeryLargeObject
unveränderlich ist und jedes Mal wieder 1 Instanz verwendet?
EDIT: Ich fand diese in docs aber das Verhalten ist mir noch nicht klar:
Mit GWT.create (Klasse) auf „instanziiert“ eine Schnittstelle, die Nachrichten gibt eine Instanz eines automatisch generierten erstreckt Unterklasse, die mithilfe von Nachrichtenvorlagen implementiert wird, die basierend auf dem Gebietsschema ausgewählt werden.
Sie können o1.toString(), o2.toString() usw. drucken, damit Sie prüfen können, ob der gleiche Wert gedruckt wird. Wenn ja, dann beziehen sie sich auf dasselbe Objekt. – alkis
@alkis Ja, im Dev-Modus ist der Hash-Code neuer Objekte unterschiedlich. Aber das ist keine Garantie dafür, dass diese Objekte im Produktionsmodus nicht auf dasselbe Objekt verweisen. –