--- jsr166/src/jsr166e/ConcurrentHashMapV8.java 2012/11/18 03:07:22 1.77 +++ jsr166/src/jsr166e/ConcurrentHashMapV8.java 2012/11/18 18:03:10 1.78 @@ -40,7 +40,7 @@ import java.io.Serializable; * interoperable with {@code Hashtable} in programs that rely on its * thread safety but not on its synchronization details. * - *

Retrieval operations (including {@code get}) generally do not + *

Retrieval operations (including {@code get}) generally do not * block, so may overlap with update operations (including {@code put} * and {@code remove}). Retrievals reflect the results of the most * recently completed update operations holding upon their @@ -61,7 +61,7 @@ import java.io.Serializable; * that may be adequate for monitoring or estimation purposes, but not * for program control. * - *

The table is dynamically expanded when there are too many + *

The table is dynamically expanded when there are too many * collisions (i.e., keys that have distinct hash codes but fall into * the same slot modulo the table size), with the expected average * effect of maintaining roughly two bins per mapping (corresponding @@ -82,13 +82,13 @@ import java.io.Serializable; * {@code hashCode()} is a sure way to slow down performance of any * hash table. * - *

A {@link Set} projection of a ConcurrentHashMapV8 may be created + *

A {@link Set} projection of a ConcurrentHashMapV8 may be created * (using {@link #newKeySet()} or {@link #newKeySet(int)}), or viewed * (using {@link #keySet(Object)} when only keys are of interest, and the * mapped values are (perhaps transiently) not used or all take the * same mapping value. * - *

A ConcurrentHashMapV8 can be used as scalable frequency map (a + *

A ConcurrentHashMapV8 can be used as scalable frequency map (a * form of histogram or multiset) by using {@link LongAdder} values * and initializing via {@link #computeIfAbsent}. For example, to add * a count to a {@code ConcurrentHashMapV8 freqs}, you @@ -99,7 +99,7 @@ import java.io.Serializable; * optional methods of the {@link Map} and {@link Iterator} * interfaces. * - *

Like {@link Hashtable} but unlike {@link HashMap}, this class + *

Like {@link Hashtable} but unlike {@link HashMap}, this class * does not allow {@code null} to be used as a key or value. * *

ConcurrentHashMapV8s support parallel operations using the {@link @@ -184,7 +184,7 @@ import java.io.Serializable; * arguments can be supplied using {@code new * AbstractMap.SimpleEntry(k,v)}. * - *

Bulk operations may complete abruptly, throwing an + *

Bulk operations may complete abruptly, throwing an * exception encountered in the application of a supplied * function. Bear in mind when handling such exceptions that other * concurrently executing functions could also have thrown @@ -199,7 +199,7 @@ import java.io.Serializable; * Similarly, parallelization may not lead to much actual parallelism * if all processors are busy performing unrelated tasks. * - *

All arguments to all task methods must be non-null. + *

All arguments to all task methods must be non-null. * *

jsr166e note: During transition, this class * uses nested functional interfaces with different names but the @@ -225,7 +225,7 @@ public class ConcurrentHashMapV8 * portion of the elements, and so may be amenable to parallel * execution. * - *

This interface exports a subset of expected JDK8 + *

This interface exports a subset of expected JDK8 * functionality. * *

Sample usage: Here is one (of the several) ways to compute @@ -2713,7 +2713,7 @@ public class ConcurrentHashMapV8 * Maps the specified key to the specified value in this table. * Neither the key nor the value can be null. * - *

The value can be retrieved by calling the {@code get} method + *

The value can be retrieved by calling the {@code get} method * with a key that is equal to the original key. * * @param key key with which the specified value is to be associated