looking at the java source code, i see references to various object properties such as (im)mutable, shared, etc. it appears there is a strong notion of (runtime) immutable, shared objects.
is it true that an immutable object that is marked as ‘shared’ has more than 1 reference to it? (i.e. a reference count of +1)? and that an object that is not shared (has 1 reference) can be ‘destroyed’ while manipulated? what about shared mutable objects? lastly, are weak references first-class in avail? i need this to be able to hash-cons objects (via weak maps) it would be nice to have some documentation that discusses the various properties and trade-offs . cheers, Robbert.
