1. Cloneable and Object.clonehistorical

    1. What the Cloneable interface is. 2. What object cloning is. 3. How to implement object cloning: shallow cloning and deep cloning. 4. References.

  2. 5.2 Integerhistorical

    Usage and implementation analysis of Integer, including immutability, valueOf, IntegerCache, and autoboxing behavior.

  3. 5.3 ArrayListhistorical

    What ArrayList is, how to use it, and source analysis of construction, add, remove, resizing, and fail-fast behavior.

  4. 5.4 Hashtablehistorical

    What Hashtable is, how to use it, and source analysis of construction, synchronized put/get/remove/containsKey, hashing, chaining, and rehashing.

  5. Objecthistorical

    Methods on Object, the equals/hashCode contract, and the difference between wait and sleep.

  6. PriorityQueuehistorical

    1. What PriorityQueue is. 2. Usage. 3. Source analysis: fields, constructors, heapify, insertion, deletion, sift-up, and sift-down. 4. Reference.

  7. 5.7 Serializablehistorical

    Serialization and deserialization in Java, custom readObject/writeObject hooks, implementation flow, serialVersionUID, and serialization algorithm.

  8. 5.8 HashSethistorical

    What HashSet is, how to use it, source analysis, and summary.

  9. Stringhistorical

    1. What String is. 2. Usage. 3. Source analysis: class definition, constructors, constant pool, equals, toCharArray, toString, valueOf, intern, and substring. 4. Common questions. 5. References.

  10. 5.10 LinkedListhistorical

    What LinkedList is, usage, and source analysis of its doubly linked list, add/remove operations, and node traversal.

  11. LinkedHashMaphistorical

    What LinkedHashMap is, insertion-order and access-order usage, and source analysis of construction, put, get, contains, remove, and iteration.

  12. Immutable Objecthistorical

    How to create an immutable object.

  13. LinkedHashSethistorical

    Usage, constructor, fields, other methods, and summary of LinkedHashSet.

  14. StringBufferhistorical

    1. What It Is: a thread-safe mutable string, essentially StringBuilder with synchronized methods. 2. Usage. 3. Implementation analysis: constructor, append, toString, and substring.

  15. Converting Between List and Arrayhistorical

    Convert Array to List and List to Array.

  16. Java Map Implementations Comparedhistorical

    Comparison of HashMap 1.7 and 1.8, HashMap and Hashtable, and TreeMap, LinkedHashMap, and HashMap.

  17. Collections.synchronizedSethistorical

    Synchronized Set wrappers and the need for external synchronization during compound operations and iteration.

  18. StringBuilderhistorical

    1. What It Is: a mutable, thread-unsafe string. 2. Usage. 3. Implementation analysis: constructor, append, toString, and substring.

  19. List Comparisonhistorical

    Comparison of ArrayList and LinkedList, Vector and ArrayList, and SynchronizedList and Vector.

  20. Collections.synchronizedMaphistorical

    Synchronized Map wrappers, compound-operation atomicity, iteration locking, and concurrent alternatives.

  21. TreeSethistorical

    What TreeSet is, usage, constructor, fields, other methods, and summary.

  22. String Comparisonhistorical

    Comparison of StringBuilder, StringBuffer, and String.

  23. Collections.synchronizedListhistorical

    1. What It Is: a thread-safe list. 2. Usage. 3. Source analysis: synchronizedList, SynchronizedList construction, mutex initialization, and synchronized method delegation.

  24. 5.24 TreeMaphistorical

    What TreeMap is, usage, and source analysis of constructors, put, get, containsKey, and remove.

  25. 5.25 Vectorhistorical

    What Vector is, usage, source analysis, synchronization, and thread-safety limitations of compound operations.

  26. 5.26 fail-fasthistorical

    fail-fast and fail-safe, Java iterator design, examples, implementation analysis, and summary.

  27. HashMap in JDK 7historical

    1. Questions: hand-written HashMap, why capacity is converted to a power of 2, resizing, hash collisions, head insertion, concurrent resize loops, null keys, and ConcurrentModificationException. 2. References.

  28. HashMap in JDK 8historical

    What HashMap is, usage, source analysis of construction, put, resize, treeification, get, containsKey, remove, containsValue, and differences from JDK 7.