1) Immutable objects are automatically thread-safe, the overhead caused due to use of synchronisation is¬†
2) Once created the state of the immutable object can not be changed so there is no possibility of them¬†
getting into an inconsistent state.
3) The references to the immutable objects can be easily shared or cached without having to copy or clone¬†
them as there state can not be changed ever after construction.
¬†4) The best use of the immutable objects is as the keys of a map.