Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Reference Stability is Sometimes Necessary

When a boxed value is being used as a simple reference, sometimes reference identity must be preserved.
This means there must be defined scopes where reboxing is not allowed.

CAS of value into Object reference field
No Format
AtomicReference<Object> ref = new AtomicReference<Object>();
Object c1 = Complex.valueOf(1, 0);
Object c2 = Complex.valueOf(0, 1);
ref.set(c1);
boolean ok;
ok = ref.compareAndSet(c1, c2);
assert(ok);

...