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
|