What does it mean to say that immutable objects can be published even without resorting to safe publication idioms?
I have read Java Concurrency in Practice (Chapter 3 , Sharing Objects) but still not able to comprehend the statement :
Immutable objects can be published through any mechanism.
V/S
Effectively immutable objects should be safely published.
Edit: I have been through a similar question on SO and the answers but still unable to understand how immutable objects can be published safely because there is a chance that the field referencing the immutable object will be seen as null or some stale value from earler invocations by an external thread.