Wo werden unveränderliche Objekte verwendet?

Inhaltsverzeichnis:

Wo werden unveränderliche Objekte verwendet?
Wo werden unveränderliche Objekte verwendet?
Anonim

Unveränderliche Objekte können in Multithread-Anwendungen nützlich sein. Mehrere Threads können auf Daten reagieren, die durch unveränderliche Objekte dargestellt werden, ohne dass die Daten von anderen Threads geändert werden. Unveränderliche Objekte gelten daher als Thread-sicherer als veränderliche Objekte.

Wozu unveränderliche Objekte?

Maximale Abhängigkeit von unveränderlichen Objekten wird weithin als eine solide Strategie zum Erstellen von einfachem, zuverlässigem Code akzeptiert. Unveränderliche Objekte sind besonders nützlich in nebenläufigen Anwendungen. Da sie ihren Zustand nicht ändern können, können sie nicht durch Thread-Interferenzen beschädigt oder in einem inkonsistenten Zustand beobachtet werden.

Welche Objekte sollten unveränderlich genannt werden?

Unveränderliche Objekte sind einfache Objekte, deren Zustand (die Daten des Objekts) sich nach der Konstruktion nicht ändern können. Beispiele für unveränderliche Objekte aus dem JDK sind String und Integer. Unveränderliche Objekte vereinfachen Ihr Programm erheblich, da sie: einfach zu konstruieren, zu testen und zu verwenden sind.

Wie implementiert man ein unveränderliches Objekt?

Um ein unveränderliches Objekt zu erstellen, müssen Sie einige einfache Regeln befolgen:

  1. Keine Setter-Methode hinzufügen.
  2. Alle Felder als endgültig und privat deklarieren.
  3. Wenn ein Feld ein veränderliches Objekt ist, erstellen Sie defensive Kopien davon für Getter-Methoden.
  4. Wenn ein veränderliches Objekt, das an den Konstruktor übergeben wird, einem Feld zugewiesen werden muss, erstellen Sie eine defensive Kopie davon.

Wohin gehen wirunveränderliche Klasse in Java verwenden?

Unveränderliche Klassen machen nebenläufiges Programmieren einfacher. Unveränderliche Klassen stellen sicher, dass Werte nicht mitten in einer Operation geändert werden, ohne synchronisierte Blöcke zu verwenden. Indem Sie Synchronisationsblöcke vermeiden, vermeiden Sie Deadlocks.

Empfohlen: