1. java.lang.Objecthistorical

    Core Object methods: equals/hashCode, toString, class identity, monitor methods, and cloning/finalization caveats.

  2. Immutable Objectshistorical

    Designing Java immutable objects and the concurrency benefits of stable state.