Gdzie używać niezmiennych obiektów?

Spisu treści:

Gdzie używać niezmiennych obiektów?
Gdzie używać niezmiennych obiektów?
Anonim

Niezmienne obiekty mogą być przydatne w aplikacjach wielowątkowych. Wiele wątków może działać na danych reprezentowanych przez niezmienne obiekty bez obawy o zmianę danych przez inne wątki. Obiekty niezmienne są zatem uważane za bardziej bezpieczne wątkowo niż obiekty zmienne.

Jaki jest sens niezmiennych obiektów?

Maksymalne poleganie na niezmiennych obiektach jest powszechnie akceptowane jako zdrowa strategia tworzenia prostego, niezawodnego kodu. Obiekty niezmienne są szczególnie przydatne w aplikacjach współbieżnych. Ponieważ nie mogą zmienić stanu, nie mogą zostać uszkodzone przez interferencję wątku lub obserwowane w niespójnym stanie.

Które obiekty powinny być nazywane niezmiennymi?

Obiekty niezmienne to po prostu obiekty, których stan (dane obiektu) nie może się zmienić po konstrukcji. Przykłady niezmiennych obiektów z JDK obejmują String i Integer. Obiekty niezmienne znacznie upraszczają Twój program, ponieważ: są proste w konstruowaniu, testowaniu i użytkowaniu.

Jak zaimplementować niezmienny obiekt?

Aby stworzyć niezmienny obiekt, musisz przestrzegać kilku prostych zasad:

  1. Nie dodawaj żadnej metody ustawiającej.
  2. Zadeklaruj wszystkie pola jako ostateczne i prywatne.
  3. Jeśli pole jest obiektem mutowalnym, utwórz jego kopie obronne dla metod pobierających.
  4. Jeśli zmienny obiekt przekazany do konstruktora musi być przypisany do pola, utwórz jego kopię obronną.

Gdzie jesteśmyużyć niezmiennej klasy w Javie?

Niezmienne klasy ułatwiają programowanie współbieżne. Niezmienne klasy zapewniają, że wartości nie zostaną zmienione w trakcie operacji bez użycia zsynchronizowanych bloków. Unikając blokad synchronizacji, unikasz zakleszczeń.

Zalecana:

Interesujące artykuły
Czy spectrum aktualizuje oprogramowanie sprzętowe routera?
Czytaj więcej

Czy spectrum aktualizuje oprogramowanie sprzętowe routera?

Kilka produktów firmy Spectrum Technologies można teraz zaktualizować do najnowszych funkcji, pobierając nowe oprogramowanie układowe z naszej strony internetowej i instalując je na urządzeniu. Produkty, które można aktualizować, obejmują: FieldScout TDR 350 i 150, WatchDog Retriever i Pups oraz modemy DataScout.

Co to znaczy davonte?
Czytaj więcej

Co to znaczy davonte?

Co oznacza Davonte? Ukochany . Hebrajski. Co znaczy Jarica? j(a)-ri-ca. Pochodzenie: nowoczesne. Popularność:12167. Znaczenie:dzbanek na wodę gruntową. Co ma na myśli Andreh? Francuskie imiona dla dzieci Znaczenie: W francuskich imionach dla dzieci znaczenie imienia Andre to:

Czy Afryka była kiedykolwiek gospodarzem igrzysk olimpijskich?
Czytaj więcej

Czy Afryka była kiedykolwiek gospodarzem igrzysk olimpijskich?

Letnie Igrzyska Olimpijskie Młodzieży 2026 w Dakarze staną się pierwszymi w historii Igrzyskami, które odbędą się na kontynencie afrykańskim. Inne główne regiony geograficzne, które nigdy nie były gospodarzem Igrzysk Olimpijskich, to Bliski Wschód, Azja Środkowa, subkontynent indyjski, Ameryka Środkowa i Karaiby.