Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6268386

jsr166x -- collections and concurrency maintenance update



    • Type: Enhancement
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 6
    • Fix Version/s: 6
    • Component/s: core-libs


      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
        4216399: (coll) TreeMap: please make getCeilEntry and getPreviousEntry
        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
        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
        5073546: Minor ConcurrentHashMap constructor spec tweaks
        5108057: Small Error in JavaDoc for method isEmpty of
        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
        6301085: (coll) Add Collections.asLifoQueue(Deque)
        6305337: Reentrant writeLock in Fair mode ReentrantReadWriteLock may
        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
        6272521: ConcurrentHashMap.remove(x,null) might remove x

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




            martin Martin Buchholz
            martin Martin Buchholz
            0 Vote for this issue
            0 Start watching this issue