Java 5 has Atomic reference support!

Notable Java5 Features:

  • Generics!
  • AtomicReference was introduced to leverage i486 CMPXCHG instruction Now we can stop using synchronized, but it’s hard to do because it metastasized into the whole codebase
  • varargs
  • enums
  • auto boxing/unboxing
  • foreach loop