v5.7.5
- Revert to using
colapi.jarwhen building Javadoc. - Doug Lea's
util.concurrentpackage in Release 1.3.4 has been implemented injavolution.util.concurrent, except forPropertyChangeMulticaster.javaandVetoableChangeMulticaster.javafor maintenance and backport reasons. javolution.util.concurrentwill be split into sub-packages similar to the JDK:java.util.concurrentcan be replaced withjavolution.util.concurrent.java.util.concurrent.atomiccan be replaced withjavolution.util.concurrent.atomic.java.util.concurrent.lockscan be replaced withjavolution.util.concurrent.locks.
- Added Javadoc for packages:
javolution.util.concurrent,javolution.util.concurrent.atomic,javolution.util.concurrent.locks,javolution.util.internal.collection, andjavolution.util.primitive. - Added an override for
FastSet.shared(). - Added an iterator method for
FastSet. - Optimized
javolution.util.concurrent.ConcurrentHashMapfor high concurrency and low GC pressure:- Converted the internal chain links to a
volatile Entry _nextpointer to ensure safe lock-free reads. - Redesigned the removal logic to perform in-place unlinking (
prev._next = e._next) under segment locks, completely eliminating the original Copy-on-Write chain replication overhead and achieving zero-allocation removals. - Added static
newKeySet()andnewKeySet(int)helper methods mimicking JDK 8+ concurrent set support. - Implemented the nested static class
KeySetViewto support concurrent, reusable Set views of map keys, fully backported for J2ME and legacy JDK (1.4+) compatibility.
- Converted the internal chain links to a
Full Changelog: v5.7.4...v5.7.5