jdk17+ suppressWarnings, FJ updates
8232230: Suppress warnings on non-serializable non-transient instance fields in java.util.concurrent
The mapping function must not modify this map during computation.
Clarify method atomicity
yet another Unsafe mechanics style canonicalization
rewrite Unsafe mechanics using new objectFieldOffset overload; only create one Unsafe field per nestmate
drop support for jdk9 and jdk10; drop backward compatibility hacks
typos
Apply last change to helpTransfer; simplify expressions
Fix resize help-out check
Catch more cases of attempted recursive updates
update to using jdk11 by default, except link to jdk10 javadocs; sync @docRoot references in javadoc with upstream
doc clarification
Make initial capacity calculations the same across paths
tableSizeFor: optimize and add whitebox tests
8202373: Forcing eager initialization of CHM\$ReservationNode avoids deoptimization
prefer throwing ExceptionInInitializerError from <clinit> to throwing Error
prefer throwing ExceptionInInitializerError from <clinit> to throwing Error
rename local variables "a" to "c" and "as" to "cs"
replace for loop with foreach loop
replace manual loop with Arrays.copyOf
use consistent wording for serialization method javadoc
8181292: Backport Rename internal Unsafe.compare methods from 10 to 9
8177789: fix collections framework links to point to java.util package doc
Redo @link and @linkplain; one @link was pointing to the wrong poll method
errorprone [OperatorPrecedence]
8176402: parameter name switcharoo in ConcurrentHashMap
fix JDK-8163353: NPE in ConcurrentHashMap.removeAll()
Improve already-present performance in computeIfAbsent, putIfAbsent
optimize view set removeAll using heuristics
Use acquire/release access when applicable
import jdk.internal.misc.Unsafe
standardize on slightly better lazy init code for views
s~\bsun\.(misc\.Unsafe)\b~jdk.internal.$1~g; s~\bputOrdered([A-Za-z]+)\b~put${1}Release~g
new Node constructor without next
typo
handle jdk9 move: sun.misc.Contended -> jdk.internal.vm.annotation.Contended
document the jdk7 compatibility pseudo-fields and delete the trailing assignment to segments
use concrete return types for trySplit methods to help VM
Terminate javadoc with a period.
ALL_CAPS for static finals
prefer trailing comma on array literals
RESIZE_STAMP_BITS should be final
whitespace
consistent style for <li> tags, removing </li> end tags
use preferred tense in javadoc
clearer description of bulk operation variants
update stale internal javadoc
whitespace
undeprecate ConcurrentHashMap.contains(Object)
spelling
jsr166 coding style
Override removeIf for Values views in ConcurrentMaps
Override default removeIf for ConcurrentMap EntrySets
refactor calls to putFields
JDK-8074773: Reduce the risk of rare disastrous classloading in first call to LockSupport.park
optimize toString() methods; introduce Helpers
delete unused locals
Remove unused variable
whitespace
standardize Unsafe mechanics; slightly smaller bytecode
tiny improvements to array scale error handling
use ReflectiveOperationException for Unsafe mechanics
remove unused/redundant imports
indentation
Improve detection of recursive usage errors
Remove dead code
fix typo in code sample
whitespace
Repair miscommit
whitespace
Don't skip elements on CAS failure
avoid overlapping resize generations; fix RW mask
More null checks
use @deprecated in addition to @Deprecated
javadoc style
typo
whitespace
Maintain traversal monotonity
prefer unbounded wildcards in array creation to raw types
Typo
Suppress warnings
refactor definitions of "weakly consistent" into package-info.java
document "weakly consistent" properties of spliterators
Ensure consistent insertion
enforce standard javadoc tag order
javadoc warning fixes: add serialization method @throws
doclint warning fixes
Avoid backarward-compatibility problems by needlessly extending AbstractMap
Placate javadoc
Avoid unbounded recursion
More conservative use of volatiles
typos
Typo in method name
javadoc punctuation
javadoc punctuation
coding style
whitespace
rename local variable
whitespace
Copy-edit pass
whitespace
Improve resiliance to abuse; reorganize and refactor internal classes and methods
add missing @since 1.8
add missing @since 1.8
Improve specs; reparamterize comparableClassFor
typo
Update to address review comments: clarify specs; reduce checks; add internal assertions
remove references to null values in javadoc
remove straggling remains of ex-comment
small javadoc improvement
javadoc style
<tt> => {@code
coding style
API changes to mesh better with lambda/streams
Overrride default Map methods
Incorporate serialization changes suggested by Peter Levart
whitespace
Touchups
Simplify comparisons
Improve cccompare
Remove unneeded method
whitespace
Avoid potential Comparable exceptions by inspecting type parameters
whitespace
conform to updated lambda Spliterator
remove old code in mapped forEach
key param specs
Mesh Map and Spliterator methods with lambda
Sync with lambda spliterator semantics
Synch with lambda Spliterator API
promote comments to actual javadoc
lambda syncs and improvements
Spliterator updates
whitespace
whitespace
Spliterator sync
whitespace
whitespace
javadoc readability
refactor and fix javadocs for map views
remove redundant NPE checks
remove redundant NPE checks
#values -> #values()
#entrySet -> #entrySet()
add missing @param
fix javadoc buglet: error: end tag missing: </ul>
#keySet -> #keySet()
javadoc link readability
javadoc link readability
javadoc link readability
add missing @return
javadoc style
Use new java.util.function names
convert to javadoc comment
typo
fiddle to handle javac [unchecked] warnings
standardize style for arrayIndexScale checking code
fix javac [serial] warnings
use blessed modifier order
correct putAll counts
test conformance
lambda-lib support
whitespace
Reinvent ThreadLocalRandom and new dependents
javadoc style
remove trailing blank javadoc lines
whitespace
remove dead conditional
Track lambda-lib API changes
whitespace
Initial lambda-compatible version
whitespace
Explicit modes for CHM bulk methods
whitespace
Cooperative resizing, plus other fixes and improvements
fix typo; improve tied-hash processing
whitespace
Add CountedCompleter utilities; now use them in ConcurrentHashMap
normalize whitespace after <p>
properly close <em> javadoc tags
whitespace
commonPool improvements
whitespace
typo
whitespace
Common pool support for CountedCompleters
Introduce ForkJoinPool.commonPool
delete trailing empty lines of javadoc
javadoc typos
javadoc style
typo
coding style
whitespace
Faster task construction
Add getValueOrDefault
Reduce task overhead; incorporate review suggestions
Parameterize CountedCompleters
Earlier early return; misc cleanup
whitespace
Fix Iterator.remove at end check
javadoc style
typos
double trouble
whitespace
Merge in jsr166e
s/nonnull/non-null/
fix imports
uniform serialization method javadocs
javac unchecked warning suppression
entry set entries need serialVersionUID
consistent style for serialization methods
fix javac 7 [rawtypes] warnings
rework size() and containsValue() to optimize the fully locked traversal
add missing javadoc asterisks
javadoc in third person
sum should be a long, not int
unused variable
typo
Manually inline and simplify some accesses
Improve containsValue
Ensure at least one retry in containsValue
IteratorAtEnd fix
coding style
Typos
Reduce initial footprint; search while locking
Update Creative Commons license URL in legal notices
whitespace
Sync with OpenJDK; untabify
6519662: (coll) AbstractMap collection views should override clear and isEmpty
doc fixes
Further improve hash
Improve segment spread for hash function
whitespace
6435782: (coll) Improve ConcurrentHashMap performance
Improve hash() function to the one now used in HashMap
Location of Collections Guide has changed
6383475: ConcurrentSkipListMap.remove(null,null) will not throw NullPointerException
Eliminate unnecessary special handling of toArray
get
sync with mustang
make WriteThroughEntry an inner class
HashIterator abstract; Use enhanced for in toArray methods
doc fixes
whitespace
Fix CR 6312056 by simplifying entrySet iterator
@since 1.6
doc fixes
doc fixes
doc fixes
whitespace
Reduce generics warnings
Reduce generics warnings
Avoid some generics cast warnings
whitespace
remove(x,null) -> false
doc fixes
doc fixes
Acts as -> This is equivalent to
remove useless casts
remove trailing whitespace
improve rendering of whitespace around code examples
first sentence; third person
4 stray parens
doc fixes
doc fixes
Copyedit pass
Javadoc improvements
Copyedit pass
Regularize constructors
Add AbstractMap.SimpleImmutableEntry; make SimpleEntry public
Remove mention of default values in constructor javadocs
Improve constructor javadocs
Nitpicky doc fixes
Documentation wording fixes
Override toArray in KeySet and Values classes to avoid potential array underallocation
CopyOnWriteArraySet and ConcurrentHashMap no longer implement Cloneable Improve javadoc wording in other classes
Conform to new rewrite rules in javac
Stylistic and internal documentation improvements
Conform to JSR133: Declare HashEntry.value field volatile to ensure ordering Reread value to deal with cases of HashEntry initialization reorderings Force ordering during rehash by making table field volatile Eliminate possiblilty of infinite retry in size and containsValue Minor changes to private method decls to simplify the above Make internal docuemntation match code.
Wording fixes and improvements
Match iterator-as-entry behavior to changes in java.util versions
Add Collection framework membership doc
doc improvements; consistent conventions for nested classes
javadoc lint; Thread.interrupt shouldn't throw exception if thread dead
fixed signatures to match java.util
Javadoc fix
spellcheck
Headers reference Creative Commons
cache finals across volatiles; avoid readResolve; doc improvments; timed invokeAll interleaves
Entry toString shouldn't throw exception
replace returns old value
Add ConcurrentMap.replace; fix other typos
Added replace method
Ensure EntrySet Entry setValue writes through to map
fixed typos; avoided some casts
Wording and typo cleanup pass
Changed doc strings for generic params
Added docs for type params
doc clarifications
Rephrased by-permission clause
Proofreading pass -- many minor adjustments
Removed non-standard tags and misc javadoc cleanup
Avoid ABA problem in CHP; fix other javadocs
serialVersionUIDs
Replaced overspecification of constructors with better wording
Kill ScheduledExecutor Date methods; Documentation clarifications
Javadoc clarifications
Scrunched catch, finally, else clauses.
Fixes to minor errors found by DocCheck
Clarify iterator semantics
Fixed signatures on ConcurrentMap.remove
Fix unchecked calls to raw type
Default compiler is now 2.2-ea. Some sources are not compatible with 2.0-ea.
Locks in subpackage; fairness params added
Misc minor tunings
Added missing javadoc tags; minor reformatting
Partial javadoc pass
New ScheduledExecuor methods; minor javadoc cleanup
Added to emulation Fixed some javadoc format errors
New CHM class with variable segments.
Please the new generics compiler
re-check-in initial implementations
Moved main source rooted at . to ./src/main Moved test source rooted at ./etc/testcases to ./src/test
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.