JDK-6268386 : jsr166x -- collections and concurrency maintenance update
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.util.concurrent
  • Affected Version: 6
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2005-05-11
  • Updated: 2017-05-19
  • Resolved: 2005-09-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6 b51Fixed
Description
This is an umbrella CR to capture all the changes being incorporated into
the JDK as a result of work by JSR166 expert group alumni, especially Doug Lea,
and JDK engineers for the mustang (6) release.  

This effort proposes to fix a large number of extant
java.util and java.util.concurrent bugs and rfes.

Here's the list of the bugs being addressed:

  4137464: (coll) TreeMap should have bi-directional iterator
  4155650: (coll) Sorted Collection Classes with bidirectional
           navigation
  4216399: (coll) TreeMap: please make getCeilEntry and getPreviousEntry
           >>public<<
  4294891: (coll) Add "next/previous" to both SortedMap and SortedSet
  4521038: (coll spec) Clarify that ArrayList.contains uses "equals"
  4802637: (coll) Minor change to TreeMap.getEntry comparison code for
           performance
  4904074: (coll) Provide basic Map.Entry class
  4942830: (coll spec) TreeSet.remove - absence of Compara{ble,tor}
           throws ClassCastException
  5018254: (coll) 'remove' operation fails in tailMap of a
           null-key-allowing TreeMap
  5018849: (coll) TreeSet.contains(null) does not agree with Javadoc
  5048399: (coll) please fix anachronisms in collections internal
           generification
  5073546: Minor ConcurrentHashMap constructor spec tweaks
  5108057: Small Error in JavaDoc for method isEmpty of
           ConcurrentLinkedQueue
  6192476: CopyOnWriteArraySet.iterator should explicitly say it uses
           list order
  6192552: Deques
  6207928: ReentrantReadWriteLock provides no way to tell if current
           thread holds read lock
  6207984: (coll) PriorityQueue.remove(Object o) will remove an object
           with the same priority as o
  6233235: Add allowCoreThreadTimeOut to ThreadPoolExecutor to
           optionally allow core thread to use keep-alive
  6233236: Reduce need to replace interrupted worker threads in
           ThreadPoolExecutor for performance
  6236036: Timeouts can cause garbage retention in lock classes
  6245166: (coll spec) TreeMap class documentation should use SortedMap
           instead of Map
  6247907: Interruptions and ThreadPoolExecutor.runTask
  6261984: (coll spec) *List collections doc fixes
  6264015: Performance improvement to Exchanger and SynchronousQueue
  6264242: (coll spec) foo(E o) -> foo(E e)
  6268068: (coll) PriorityQueue.remove(Object) should use equals, not
           its ordering, to find element to remove
  6269146: Cancelled FutureTask's interrupt bit not always set
  6269713: (coll) Unchecked exception specifications of collection
           classes are missing or inaccurate
  6269720: (coll spec) Improve documentation of "natural ordering"
  6269729: Improve method tables in BlockingDeque and related interfaces
  6269739: BlockingQueue.drainTo needs to throw all unchecked exceptions
           that Collection.add does
  6269785: ConcurrentMap.replace,remove methods "equivalent" code not
           correct when elt not in map
  6271387: (coll spec) toArray method javadocs are inaccurate
  6277663: Improve extensibility of thread pools
  6281487: ReentrantReadWriteLock: readers repeatedly acquire lock while
           writer is waiting
  6282140: CopyOnWriteArrayList maintenance
  6294770: java.util.concurrent.locks.ReentrantReadWriteLock acquisition
           order
  6301085: (coll) Add Collections.asLifoQueue(Deque)
  6305337: Reentrant writeLock in Fair mode ReentrantReadWriteLock may
           block
  6312056: ConcurrentHashMap.entrySet().iterator() can return entry with
           never-existent value
  6314788: Tasks resubmitted to a ThreadPoolExecutor may fail to execute
  6315709: Reentrant writeLock in Fair mode ReentrantReadWriteLock may
           block
  6272521: ConcurrentHashMap.remove(x,null) might remove x

###@###.### 2005-05-11 03:11:14 GMT

Comments
EVALUATION In progress. ###@###.### 2005-05-11 03:12:00 GMT
11-05-2005