Hol használhatók megváltoztathatatlan objektumok?

Tartalomjegyzék:

Hol használhatók megváltoztathatatlan objektumok?
Hol használhatók megváltoztathatatlan objektumok?
Anonim

A megváltoztathatatlan objektumok hasznosak lehetnek többszálú alkalmazásokban. Több szál is tud működni a megváltoztathatatlan objektumok által képviselt adatokon anélkül, hogy aggódna attól, hogy más szálak megváltoztatják az adatokat. A megváltoztathatatlan objektumok ezért szálbiztosabbnak tekinthetők, mint a változtatható objektumok.

Mi értelme van a megváltoztathatatlan objektumoknak?

A megváltoztathatatlan objektumokra való maximális támaszkodás széles körben elfogadott jó stratégia az egyszerű, megbízható kód létrehozásához. A megváltoztathatatlan objektumok különösen hasznosak egyidejű alkalmazásokban. Mivel nem változtathatják meg az állapotukat, nem sérthetik meg őket szál interferencia, vagy nem figyelhetők meg inkonzisztens állapotban.

Mely objektumokat nevezzük megváltoztathatatlannak?

A megváltoztathatatlan objektumok egyszerűen olyan objektumok, amelyek állapota (az objektum adatai) nem változhatnak a felépítés után. A JDK-ból származó megváltoztathatatlan objektumok például a String és az Integer. A megváltoztathatatlan objektumok nagymértékben leegyszerűsítik a programot, mivel: egyszerűen megszerkeszthetők, tesztelhetők és használhatók.

Hogyan valósít meg egy megváltoztathatatlan objektumot?

Megváltozhatatlan objektum létrehozásához be kell tartania néhány egyszerű szabályt:

  1. Ne adjon hozzá beállító módszert.
  2. Minden mező véglegesnek és privátnak nyilvánítása.
  3. Ha egy mező változtatható objektum, készítsen róla védekező másolatokat a getter metódusokhoz.
  4. Ha a konstruktornak átadott módosítható objektumot hozzá kell rendelni egy mezőhöz, hozzon létre egy védekező másolatot.

Hol vagyunkmegváltoztathatatlan osztályt használ a Java-ban?

A megváltoztathatatlan osztályok egyszerűsítik a párhuzamos programozást. A megváltoztathatatlan osztályok biztosítják, hogy az értékek ne változzanak meg egy művelet közepén szinkronizált blokkok használata nélkül. A szinkronizálási blokkok elkerülésével elkerülheti a holtpontokat.

Ajánlott: