Benefits to be gained from cloning immutable objects in Java
<p>Let's say we have a Java object that has only primitive fields marked as final and as such is immutable.</p>

<p>Now several threads need the information contained in this object to do their work, so one has two choices:</p>

<ol>
<li>Hand the reference to a single instance to all threads.</li>
<li>Create a clone/copy of the object for each thread.</li>
</ol>

<p>Essentially the question boils down to this: Internally, does the JVM gain any benefits from copying the object, for example because reads become more efficient, or would it be a mere waste of memory because it doesn't matter?</p>
