Tutorial de concurrencia en Java 7, Parte 2
Objetos Inmutables
Un objeto es considerado inmutable si su estado no puede ser cambiado después de ser creado. La máxima dependencia en objetos inmutables es ampliamente aceptada como una buena estrategia para crear código simple y confiable.
Programadores son a veces reacios a emplear objetos inmutables, porque ellos se preocupan acerca del costo de crear un objeto nuevo como oposición a actualizar un objeto in situ. El impacto de la creación es a veces sobreestimado, y puede ser compensado por algunas de las eficiencias asociadas a los objetos inmutables.Estos incluyen la disminución de la sobrecarga debido al funcionamiento del Garbage Collector, y la eliminación del código necesario para proteger objetos mutables de la corrupción.