Els objectes immutables poden ser útils en aplicacions multiprocés. Diversos fils poden actuar sobre dades representades per objectes immutables sense preocupar-se que les dades siguin modificades per altres fils. Per tant, els objectes immutables es consideren més segurs per a fils que els objectes mutables.
Quin sentit tenen els objectes immutables?
La confiança màxima en objectes immutables és àmpliament acceptada com una estratègia sòlida per crear codis senzill i fiable. Els objectes immutables són especialment útils en aplicacions concurrents. Com que no poden canviar d'estat, no es poden corrompre per la interferència del fil ni observar-los en un estat inconsistent.
Quins objectes s'han d'anomenar immutables?
Els objectes immutables són simplement objectes l'estat dels quals (les dades de l'objecte) no poden canviar després de la construcció. Alguns exemples d'objectes immutables del JDK inclouen String i Integer. Els objectes immutables simplifiquen molt el vostre programa, ja que: són senzills de construir, provar i utilitzar.
Com implementeu un objecte immutable?
Per crear un objecte immutable, heu de seguir unes regles senzilles:
- No afegiu cap mètode de configuració.
- Declarar tots els camps finals i privats.
- Si un camp és un objecte mutable, creeu-ne còpies defensives per als mètodes d'obtenció.
- Si un objecte mutable passat al constructor s'ha d'assignar a un camp, creeu-ne una còpia defensiva.
On fem?utilitzar una classe immutable a Java?
Les classes immutables faciliten la programació simultània. Les classes immutables s'asseguren que els valors no es canvien enmig d'una operació sense utilitzar blocs sincronitzats. En evitar els blocs de sincronització, eviteu els bloquejos.