5.JDK
Java · 28 notes
- Cloneable and Object.clonehistorical
Java's Cloneable marker interface, shallow copying, constructor bypass, and why explicit copy APIs are usually clearer.
- Integer and Boxinghistorical
Integer boxing/unboxing, value comparison, caching, parsing, overflow, and null-unboxing hazards.
- ArrayListhistorical
ArrayList's resizable-array model, complexity, capacity growth, iteration, and concurrency characteristics.
- Hashtablehistorical
Legacy Hashtable synchronization, null restrictions, and modern replacement choices.
- java.lang.Objecthistorical
Core Object methods: equals/hashCode, toString, class identity, monitor methods, and cloning/finalization caveats.
- PriorityQueuehistorical
Heap-based priority queues, ordering semantics, complexity, and concurrency limitations.
- Java Serializablehistorical
Java native serialization, serialVersionUID, compatibility, security risks, and modern alternatives for service/data formats.
- HashSethistorical
Hash-based Set semantics, equality/hashCode requirements, null handling, and concurrency characteristics.
- Stringhistorical
Java String immutability, pooling, equality, concatenation, encoding boundaries, and implementation-sensitive storage.
- LinkedListhistorical
Java LinkedList as a doubly linked List/Deque, with operation costs and cache-locality trade-offs.
- LinkedHashMaphistorical
Insertion/access-order HashMap with a linked iteration order and the basis of simple LRU-style maps.
- Immutable Objectshistorical
Designing Java immutable objects and the concurrency benefits of stable state.
- StringBufferhistorical
Legacy synchronized mutable text builder and its relationship to StringBuilder.
- Converting Between Lists and Arrayshistorical
Safe Java List/array conversion and the mutability semantics of Arrays.asList and modern collection factories.
- Java Map Implementations Comparedhistorical
Choosing HashMap, LinkedHashMap, TreeMap, ConcurrentHashMap, and synchronized/legacy maps.
- Collections.synchronizedSethistorical
Synchronized Set wrappers and the need for external synchronization during compound operations and iteration.
- StringBuilderhistorical
Efficient mutable text construction, capacity, non-thread-safety, and compiler concatenation optimizations.
- Java List Implementations Comparedhistorical
Choosing among ArrayList, LinkedList, CopyOnWriteArrayList, and synchronized wrappers by access pattern.
- Collections.synchronizedMaphistorical
Synchronized Map wrappers, compound-operation atomicity, iteration locking, and concurrent alternatives.
- TreeSethistorical
Sorted/navigable set semantics, comparator ordering, and logarithmic tree operations.
- Comparing Java Stringshistorical
String identity, content equality, ordering, null safety, and case-insensitive comparison cautions.
- Collections.synchronizedListhistorical
The synchronized List wrapper, compound operations, iteration requirements, and alternatives.
- TreeMaphistorical
Sorted and navigable maps, key ordering, logarithmic operations, and comparator consistency.
- Vectorhistorical
Legacy synchronized Vector behavior and why ArrayList or specialized concurrent collections are usually preferred.
- Fail-Fast Iteratorshistorical
What ConcurrentModificationException means, structural modification tracking, and why fail-fast behavior is not a thread-safety guarantee.
- HashMap in JDK 7historical
Historical JDK 7 HashMap bucket-chain implementation and resize behavior, clearly separated from modern JDK internals.
- HashMap in JDK 8historical
Historical JDK 8 HashMap array/bin/tree design, resize concepts, load factor, and stable API-level lessons.