diff --git a/jdk/src/demo/share/jfc/TableExample/TableSorter.java b/jdk/src/demo/share/jfc/TableExample/TableSorter.java
index 0ec49b714e2..479e70e7934 100644
--- a/jdk/src/demo/share/jfc/TableExample/TableSorter.java
+++ b/jdk/src/demo/share/jfc/TableExample/TableSorter.java
@@ -267,7 +267,7 @@ public final class TableSorter extends TableMap {
         than assigned otherwise sister calls in the recursion might
         get out of sinc.  When the number of elements is three they
         are partitioned so that the first set, [low, mid), has one
-        element and and the second, [mid, high), has two. We skip the
+        element and the second, [mid, high), has two. We skip the
         optimisation when the number of elements is three or less as
         the first compare in the normal merge will produce the same
         sequence of steps. This optimisation seems to be worthwhile
diff --git a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/ClassReader.java b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/ClassReader.java
index 3da159f6e29..b459ba023d1 100644
--- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/ClassReader.java
+++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/ClassReader.java
@@ -497,7 +497,7 @@ class ClassReader {
                     code.max_locals  >= TOO_BIG ||
                     code.getLength() >= TOO_BIG ||
                     name.endsWith("X")) {
-                    // No, we don't really know what to do this this one.
+                    // No, we don't really know what to do with this one.
                     // Do not compress the rare and strange "u4" and "X" cases.
                     a = null;
                 }
diff --git a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/Coding.java b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/Coding.java
index 29dcb83d36a..d334af4bd67 100644
--- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/Coding.java
+++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/Coding.java
@@ -95,7 +95,7 @@ class Coding implements Comparable<Coding>, CodingMethod, Histogram.BitMetric {
       If S>0, the unsigned value of a byte sequence is regarded as a binary
       integer.  If any of the S low-order bits are zero, the corresponding
       signed value will be non-negative.  If all of the S low-order bits
-      (S>0) are one, the the corresponding signed value will be negative.
+      (S>0) are one, the corresponding signed value will be negative.
 
       The non-negative signed values are compact and monotonically increasing
       (from 0) in the ordering of the corresponding unsigned values.
diff --git a/jdk/src/java.base/share/classes/java/lang/Class.java b/jdk/src/java.base/share/classes/java/lang/Class.java
index 25ed5c47fec..0fb2ef19a05 100644
--- a/jdk/src/java.base/share/classes/java/lang/Class.java
+++ b/jdk/src/java.base/share/classes/java/lang/Class.java
@@ -1529,7 +1529,7 @@ public final class Class<T> implements java.io.Serializable,
      * the accessible public fields of the class or interface represented by
      * this {@code Class} object.
      *
-     * <p> If this {@code Class} object represents a class or interface with no
+     * <p> If this {@code Class} object represents a class or interface with
      * no accessible public fields, then this method returns an array of length
      * 0.
      *
diff --git a/jdk/src/java.base/share/classes/java/lang/ClassValue.java b/jdk/src/java.base/share/classes/java/lang/ClassValue.java
index 4fc33d355bd..1b4c114a8ac 100644
--- a/jdk/src/java.base/share/classes/java/lang/ClassValue.java
+++ b/jdk/src/java.base/share/classes/java/lang/ClassValue.java
@@ -162,7 +162,7 @@ public abstract class ClassValue<T> {
      * observe the time-dependent states as it computes {@code V1}, etc.
      * This does not remove the threat of a stale value, since there is a window of time
      * between the return of {@code computeValue} in {@code T} and the installation
-     * of the the new value.  No user synchronization is possible during this time.
+     * of the new value.  No user synchronization is possible during this time.
      *
      * @param type the type whose class value must be removed
      * @throws NullPointerException if the argument is null
@@ -285,7 +285,7 @@ public abstract class ClassValue<T> {
      * will receive the notification without delay.
      * <p>
      * If version were not volatile, one thread T1 could persistently hold onto
-     * a stale value this.value == V1, while while another thread T2 advances
+     * a stale value this.value == V1, while another thread T2 advances
      * (under a lock) to this.value == V2.  This will typically be harmless,
      * but if T1 and T2 interact causally via some other channel, such that
      * T1's further actions are constrained (in the JMM) to happen after
diff --git a/jdk/src/java.base/share/classes/java/lang/Integer.java b/jdk/src/java.base/share/classes/java/lang/Integer.java
index d22ce9bef35..35079175e1d 100644
--- a/jdk/src/java.base/share/classes/java/lang/Integer.java
+++ b/jdk/src/java.base/share/classes/java/lang/Integer.java
@@ -840,7 +840,7 @@ public final class Integer extends Number implements Comparable<Integer> {
     /**
      * Parses the string argument as an unsigned decimal integer. The
      * characters in the string must all be decimal digits, except
-     * that the first character may be an an ASCII plus sign {@code
+     * that the first character may be an ASCII plus sign {@code
      * '+'} ({@code '\u005Cu002B'}). The resulting integer value
      * is returned, exactly as if the argument and the radix 10 were
      * given as arguments to the {@link
diff --git a/jdk/src/java.base/share/classes/java/lang/Long.java b/jdk/src/java.base/share/classes/java/lang/Long.java
index bcf33fccff8..9382a2df1e9 100644
--- a/jdk/src/java.base/share/classes/java/lang/Long.java
+++ b/jdk/src/java.base/share/classes/java/lang/Long.java
@@ -971,7 +971,7 @@ public final class Long extends Number implements Comparable<Long> {
     /**
      * Parses the string argument as an unsigned decimal {@code long}. The
      * characters in the string must all be decimal digits, except
-     * that the first character may be an an ASCII plus sign {@code
+     * that the first character may be an ASCII plus sign {@code
      * '+'} ({@code '\u005Cu002B'}). The resulting integer value
      * is returned, exactly as if the argument and the radix 10 were
      * given as arguments to the {@link
diff --git a/jdk/src/java.base/share/classes/java/lang/Math.java b/jdk/src/java.base/share/classes/java/lang/Math.java
index 6606ac07c83..bc54bef83ea 100644
--- a/jdk/src/java.base/share/classes/java/lang/Math.java
+++ b/jdk/src/java.base/share/classes/java/lang/Math.java
@@ -2224,7 +2224,7 @@ public final class Math {
          * multiply-store result is subnormal, the next multiply will
          * round it away to zero.  This is done by first multiplying
          * by 2 ^ (scaleFactor % n) and then multiplying several
-         * times by by 2^n as needed where n is the exponent of number
+         * times by 2^n as needed where n is the exponent of number
          * that is a covenient power of two.  In this way, at most one
          * real rounding error occurs.  If the double value set is
          * being used exclusively, the rounding will occur on a
@@ -2249,7 +2249,7 @@ public final class Math {
 
         // magnitude of a power of two so large that scaling a finite
         // nonzero value by it would be guaranteed to over or
-        // underflow; due to rounding, scaling down takes takes an
+        // underflow; due to rounding, scaling down takes an
         // additional power of two which is reflected here
         final int MAX_SCALE = DoubleConsts.MAX_EXPONENT + -DoubleConsts.MIN_EXPONENT +
                               DoubleConsts.SIGNIFICAND_WIDTH + 1;
@@ -2318,7 +2318,7 @@ public final class Math {
     public static float scalb(float f, int scaleFactor) {
         // magnitude of a power of two so large that scaling a finite
         // nonzero value by it would be guaranteed to over or
-        // underflow; due to rounding, scaling down takes takes an
+        // underflow; due to rounding, scaling down takes an
         // additional power of two which is reflected here
         final int MAX_SCALE = FloatConsts.MAX_EXPONENT + -FloatConsts.MIN_EXPONENT +
                               FloatConsts.SIGNIFICAND_WIDTH + 1;
diff --git a/jdk/src/java.base/share/classes/java/lang/Throwable.java b/jdk/src/java.base/share/classes/java/lang/Throwable.java
index d71f9ecdf0d..f86ee0df424 100644
--- a/jdk/src/java.base/share/classes/java/lang/Throwable.java
+++ b/jdk/src/java.base/share/classes/java/lang/Throwable.java
@@ -202,7 +202,7 @@ public class Throwable implements Serializable {
      * The field is initialized to a zero-length array.  A {@code
      * null} value of this field indicates subsequent calls to {@link
      * #setStackTrace(StackTraceElement[])} and {@link
-     * #fillInStackTrace()} will be be no-ops.
+     * #fillInStackTrace()} will be no-ops.
      *
      * @serial
      * @since 1.4
diff --git a/jdk/src/java.base/share/classes/java/lang/invoke/MethodType.java b/jdk/src/java.base/share/classes/java/lang/invoke/MethodType.java
index b15c188d72b..2d1df3a5353 100644
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodType.java
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodType.java
@@ -116,7 +116,7 @@ class MethodType implements java.io.Serializable {
     /**
      * Construct a temporary unchecked instance of MethodType for use only as a key to the intern table.
      * Does not check the given parameters for validity, and must be discarded after it is used as a searching key.
-     * The parameters are reversed for this constructor, so that is is not accidentally used.
+     * The parameters are reversed for this constructor, so that it is not accidentally used.
      */
     private MethodType(Class<?>[] ptypes, Class<?> rtype) {
         this.rtype = rtype;
@@ -1006,7 +1006,7 @@ class MethodType implements java.io.Serializable {
      * Therefore, the number returned is the number of arguments
      * <em>including</em> and <em>after</em> the given parameter,
      * <em>plus</em> the number of long or double arguments
-     * at or after after the argument for the given parameter.
+     * at or after the argument for the given parameter.
      * <p>
      * This method is included for the benefit of applications that must
      * generate bytecodes that process method handles and invokedynamic.
diff --git a/jdk/src/java.base/share/classes/java/security/DomainCombiner.java b/jdk/src/java.base/share/classes/java/security/DomainCombiner.java
index 7aadc7e7b2f..4785df4cd80 100644
--- a/jdk/src/java.base/share/classes/java/security/DomainCombiner.java
+++ b/jdk/src/java.base/share/classes/java/security/DomainCombiner.java
@@ -92,7 +92,7 @@ public interface DomainCombiner {
      * @param currentDomains the ProtectionDomains associated with the
      *          current execution Thread, up to the most recent
      *          privileged {@code ProtectionDomain}.
-     *          The ProtectionDomains are are listed in order of execution,
+     *          The ProtectionDomains are listed in order of execution,
      *          with the most recently executing {@code ProtectionDomain}
      *          residing at the beginning of the array. This parameter may
      *          be {@code null} if the current execution Thread
diff --git a/jdk/src/java.base/share/classes/java/security/Provider.java b/jdk/src/java.base/share/classes/java/security/Provider.java
index 2584528a464..fa20e072d5f 100644
--- a/jdk/src/java.base/share/classes/java/security/Provider.java
+++ b/jdk/src/java.base/share/classes/java/security/Provider.java
@@ -1711,7 +1711,7 @@ public abstract class Provider extends Properties {
          *
          * @param parameter the parameter to test
          *
-         * @return false if this this service cannot use the specified
+         * @return false if this service cannot use the specified
          * parameter; true if it can possibly use the parameter
          *
          * @throws InvalidParameterException if the value of parameter is
diff --git a/jdk/src/java.base/share/classes/java/security/Signature.java b/jdk/src/java.base/share/classes/java/security/Signature.java
index 738cf84ef5e..bb2e75dd1ac 100644
--- a/jdk/src/java.base/share/classes/java/security/Signature.java
+++ b/jdk/src/java.base/share/classes/java/security/Signature.java
@@ -776,7 +776,7 @@ public abstract class Signature extends SignatureSpi {
     /**
      * Updates the data to be signed or verified using the specified
      * ByteBuffer. Processes the {@code data.remaining()} bytes
-     * starting at at {@code data.position()}.
+     * starting at {@code data.position()}.
      * Upon return, the buffer's position will be equal to its limit;
      * its limit will not have changed.
      *
diff --git a/jdk/src/java.base/share/classes/java/security/SignatureSpi.java b/jdk/src/java.base/share/classes/java/security/SignatureSpi.java
index d6d2bc39b5e..7e78726f3b8 100644
--- a/jdk/src/java.base/share/classes/java/security/SignatureSpi.java
+++ b/jdk/src/java.base/share/classes/java/security/SignatureSpi.java
@@ -131,7 +131,7 @@ public abstract class SignatureSpi {
     /**
      * Updates the data to be signed or verified using the specified
      * ByteBuffer. Processes the {@code data.remaining()} bytes
-     * starting at at {@code data.position()}.
+     * starting at {@code data.position()}.
      * Upon return, the buffer's position will be equal to its limit;
      * its limit will not have changed.
      *
diff --git a/jdk/src/java.base/share/classes/java/security/interfaces/DSAKeyPairGenerator.java b/jdk/src/java.base/share/classes/java/security/interfaces/DSAKeyPairGenerator.java
index e50cfd24c4b..558ac4419c2 100644
--- a/jdk/src/java.base/share/classes/java/security/interfaces/DSAKeyPairGenerator.java
+++ b/jdk/src/java.base/share/classes/java/security/interfaces/DSAKeyPairGenerator.java
@@ -54,7 +54,7 @@ import java.security.*;
  *
  * </ol>
  *
- * <p>Note: it is not always necessary to do do algorithm-specific
+ * <p>Note: it is not always necessary to do algorithm-specific
  * initialization for a DSA key pair generator. That is, it is not always
  * necessary to call an {@code initialize} method in this interface.
  * Algorithm-independent initialization using the {@code initialize} method
diff --git a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java
index 661d81de0e1..02994ad5042 100644
--- a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java
+++ b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java
@@ -1097,7 +1097,7 @@ public final class DateTimeFormatter {
      * This returns an immutable formatter capable of formatting and parsing
      * the ISO-8601 instant format.
      * When formatting, the second-of-minute is always output.
-     * The nano-of-second outputs zero, three, six or nine digits digits as necessary.
+     * The nano-of-second outputs zero, three, six or nine digits as necessary.
      * When parsing, time to at least the seconds field is required.
      * Fractional seconds from zero to nine are parsed.
      * The localized decimal style is not used.
diff --git a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java
index f2fce14586e..4616017c8e1 100644
--- a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java
+++ b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java
@@ -793,7 +793,7 @@ public final class DateTimeFormatterBuilder {
      * They are converted to a date-time with a zone-offset of UTC and formatted
      * using the standard ISO-8601 format.
      * With this method, formatting nano-of-second outputs zero, three, six
-     * or nine digits digits as necessary.
+     * or nine digits as necessary.
      * The localized decimal style is not used.
      * <p>
      * The instant is obtained using {@link ChronoField#INSTANT_SECONDS INSTANT_SECONDS}
diff --git a/jdk/src/java.base/share/classes/java/util/Arrays.java b/jdk/src/java.base/share/classes/java/util/Arrays.java
index 628ce831ab6..a7d9dccd7a5 100644
--- a/jdk/src/java.base/share/classes/java/util/Arrays.java
+++ b/jdk/src/java.base/share/classes/java/util/Arrays.java
@@ -1221,7 +1221,7 @@ public class Arrays {
      *
      * <p>The implementation takes equal advantage of ascending and
      * descending order in its input array, and can take advantage of
-     * ascending and descending order in different parts of the the same
+     * ascending and descending order in different parts of the same
      * input array.  It is well-suited to merging two or more sorted arrays:
      * simply concatenate the arrays and sort the resulting array.
      *
@@ -1280,7 +1280,7 @@ public class Arrays {
      *
      * <p>The implementation takes equal advantage of ascending and
      * descending order in its input array, and can take advantage of
-     * ascending and descending order in different parts of the the same
+     * ascending and descending order in different parts of the same
      * input array.  It is well-suited to merging two or more sorted arrays:
      * simply concatenate the arrays and sort the resulting array.
      *
@@ -1407,7 +1407,7 @@ public class Arrays {
      *
      * <p>The implementation takes equal advantage of ascending and
      * descending order in its input array, and can take advantage of
-     * ascending and descending order in different parts of the the same
+     * ascending and descending order in different parts of the same
      * input array.  It is well-suited to merging two or more sorted arrays:
      * simply concatenate the arrays and sort the resulting array.
      *
@@ -1473,7 +1473,7 @@ public class Arrays {
      *
      * <p>The implementation takes equal advantage of ascending and
      * descending order in its input array, and can take advantage of
-     * ascending and descending order in different parts of the the same
+     * ascending and descending order in different parts of the same
      * input array.  It is well-suited to merging two or more sorted arrays:
      * simply concatenate the arrays and sort the resulting array.
      *
diff --git a/jdk/src/java.base/share/classes/java/util/Base64.java b/jdk/src/java.base/share/classes/java/util/Base64.java
index 172acbeab58..2ccfdec9f60 100644
--- a/jdk/src/java.base/share/classes/java/util/Base64.java
+++ b/jdk/src/java.base/share/classes/java/util/Base64.java
@@ -556,7 +556,7 @@ public class Base64 {
          *
          * <p> It is the responsibility of the invoker of this method to make
          * sure the output byte array {@code dst} has enough space for decoding
-         * all bytes from the input byte array. No bytes will be be written to
+         * all bytes from the input byte array. No bytes will be written to
          * the output byte array if the output byte array is not big enough.
          *
          * <p> If the input byte array is not in valid Base64 encoding scheme
diff --git a/jdk/src/java.base/share/classes/java/util/Calendar.java b/jdk/src/java.base/share/classes/java/util/Calendar.java
index 8ad1aa47ff0..ff0f2f7cb13 100644
--- a/jdk/src/java.base/share/classes/java/util/Calendar.java
+++ b/jdk/src/java.base/share/classes/java/util/Calendar.java
@@ -2993,7 +2993,7 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
     }
 
     /**
-     * Sets the date of this {@code Calendar} with the the given date
+     * Sets the date of this {@code Calendar} with the given date
      * specifiers - week year, week of year, and day of week.
      *
      * <p>Unlike the {@code set} method, all of the calendar fields
diff --git a/jdk/src/java.base/share/classes/java/util/Locale.java b/jdk/src/java.base/share/classes/java/util/Locale.java
index cf29686e693..ffea237b34a 100644
--- a/jdk/src/java.base/share/classes/java/util/Locale.java
+++ b/jdk/src/java.base/share/classes/java/util/Locale.java
@@ -95,7 +95,7 @@ import sun.util.locale.provider.ResourceBundleBasedAdapter;
  *   <code>Locale</code> always canonicalizes to lower case.</dd>
  *
  *   <dd>Well-formed language values have the form
- *   <code>[a-zA-Z]{2,8}</code>.  Note that this is not the the full
+ *   <code>[a-zA-Z]{2,8}</code>.  Note that this is not the full
  *   BCP47 language production, since it excludes extlang.  They are
  *   not needed since modern three-letter language codes replace
  *   them.</dd>
@@ -1691,7 +1691,7 @@ public final class Locale implements Cloneable, Serializable {
     }
 
     /**
-     * Returns a name for the the locale's script that is appropriate for display to
+     * Returns a name for the locale's script that is appropriate for display to
      * the user. If possible, the name will be localized for the default
      * {@link Locale.Category#DISPLAY DISPLAY} locale.  Returns
      * the empty string if this locale doesn't specify a script code.
diff --git a/jdk/src/java.base/share/classes/java/util/ResourceBundle.java b/jdk/src/java.base/share/classes/java/util/ResourceBundle.java
index 3b8d06e01a7..1b55a97b6ad 100644
--- a/jdk/src/java.base/share/classes/java/util/ResourceBundle.java
+++ b/jdk/src/java.base/share/classes/java/util/ResourceBundle.java
@@ -994,7 +994,7 @@ public abstract class ResourceBundle {
      * bundle is found, the default control's {@link Control#getFallbackLocale
      * getFallbackLocale} method is called, which returns the current default
      * locale.  A new sequence of candidate locale names is generated using this
-     * locale and and searched again, as above.
+     * locale and searched again, as above.
      *
      * <p>If still no result bundle is found, the base name alone is looked up. If
      * this still fails, a <code>MissingResourceException</code> is thrown.
diff --git a/jdk/src/java.base/share/classes/java/util/Spliterator.java b/jdk/src/java.base/share/classes/java/util/Spliterator.java
index 18cb082cf38..fb110d4428a 100644
--- a/jdk/src/java.base/share/classes/java/util/Spliterator.java
+++ b/jdk/src/java.base/share/classes/java/util/Spliterator.java
@@ -84,7 +84,7 @@ import java.util.function.LongConsumer;
  * via the {@link #estimateSize} method.  Ideally, as reflected in characteristic
  * {@link #SIZED}, this value corresponds exactly to the number of elements
  * that would be encountered in a successful traversal.  However, even when not
- * exactly known, an estimated value value may still be useful to operations
+ * exactly known, an estimated value may still be useful to operations
  * being performed on the source, such as helping to determine whether it is
  * preferable to split further or traverse the remaining elements sequentially.
  *
diff --git a/jdk/src/java.base/share/classes/java/util/Spliterators.java b/jdk/src/java.base/share/classes/java/util/Spliterators.java
index 79c0ef3efde..31c79cb8447 100644
--- a/jdk/src/java.base/share/classes/java/util/Spliterators.java
+++ b/jdk/src/java.base/share/classes/java/util/Spliterators.java
@@ -132,7 +132,7 @@ public final class Spliterators {
      * @param array The array, assumed to be unmodified during use
      * @param additionalCharacteristics Additional spliterator characteristics
      *        of this spliterator's source or elements beyond {@code SIZED} and
-     *        {@code SUBSIZED} which are are always reported
+     *        {@code SUBSIZED} which are always reported
      * @return A spliterator for an array
      * @throws NullPointerException if the given array is {@code null}
      * @see Arrays#spliterator(Object[])
@@ -164,7 +164,7 @@ public final class Spliterators {
      * @param toIndex One past the greatest index to cover
      * @param additionalCharacteristics Additional spliterator characteristics
      *        of this spliterator's source or elements beyond {@code SIZED} and
-     *        {@code SUBSIZED} which are are always reported
+     *        {@code SUBSIZED} which are always reported
      * @return A spliterator for an array
      * @throws NullPointerException if the given array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
@@ -196,7 +196,7 @@ public final class Spliterators {
      * @param array The array, assumed to be unmodified during use
      * @param additionalCharacteristics Additional spliterator characteristics
      *        of this spliterator's source or elements beyond {@code SIZED} and
-     *        {@code SUBSIZED} which are are always reported
+     *        {@code SUBSIZED} which are always reported
      * @return A spliterator for an array
      * @throws NullPointerException if the given array is {@code null}
      * @see Arrays#spliterator(int[])
@@ -226,7 +226,7 @@ public final class Spliterators {
      * @param toIndex One past the greatest index to cover
      * @param additionalCharacteristics Additional spliterator characteristics
      *        of this spliterator's source or elements beyond {@code SIZED} and
-     *        {@code SUBSIZED} which are are always reported
+     *        {@code SUBSIZED} which are always reported
      * @return A spliterator for an array
      * @throws NullPointerException if the given array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
@@ -258,7 +258,7 @@ public final class Spliterators {
      * @param array The array, assumed to be unmodified during use
      * @param additionalCharacteristics Additional spliterator characteristics
      *        of this spliterator's source or elements beyond {@code SIZED} and
-     *        {@code SUBSIZED} which are are always reported
+     *        {@code SUBSIZED} which are always reported
      * @return A spliterator for an array
      * @throws NullPointerException if the given array is {@code null}
      * @see Arrays#spliterator(long[])
@@ -282,7 +282,7 @@ public final class Spliterators {
      * {@code SIZED} and {@code SUBSIZED}.  The caller may provide additional
      * characteristics for the spliterator to report.  (For example, if it is
      * known the array will not be further modified, specify {@code IMMUTABLE};
-     * if the array data is considered to have an an encounter order, specify
+     * if the array data is considered to have an encounter order, specify
      * {@code ORDERED}).  The method {@link Arrays#spliterator(long[], int, int)} can
      * often be used instead, which returns a spliterator that reports
      * {@code SIZED}, {@code SUBSIZED}, {@code IMMUTABLE}, and {@code ORDERED}.
@@ -292,7 +292,7 @@ public final class Spliterators {
      * @param toIndex One past the greatest index to cover
      * @param additionalCharacteristics Additional spliterator characteristics
      *        of this spliterator's source or elements beyond {@code SIZED} and
-     *        {@code SUBSIZED} which are are always reported
+     *        {@code SUBSIZED} which are always reported
      * @return A spliterator for an array
      * @throws NullPointerException if the given array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
@@ -324,7 +324,7 @@ public final class Spliterators {
      * @param array The array, assumed to be unmodified during use
      * @param additionalCharacteristics Additional spliterator characteristics
      *        of this spliterator's source or elements beyond {@code SIZED} and
-     *        {@code SUBSIZED} which are are always reported
+     *        {@code SUBSIZED} which are always reported
      * @return A spliterator for an array
      * @throws NullPointerException if the given array is {@code null}
      * @see Arrays#spliterator(double[])
@@ -348,7 +348,7 @@ public final class Spliterators {
      * {@code SIZED} and {@code SUBSIZED}.  The caller may provide additional
      * characteristics for the spliterator to report.  (For example, if it is
      * known the array will not be further modified, specify {@code IMMUTABLE};
-     * if the array data is considered to have an an encounter order, specify
+     * if the array data is considered to have an encounter order, specify
      * {@code ORDERED}).  The method {@link Arrays#spliterator(long[], int, int)} can
      * often be used instead, which returns a spliterator that reports
      * {@code SIZED}, {@code SUBSIZED}, {@code IMMUTABLE}, and {@code ORDERED}.
@@ -358,7 +358,7 @@ public final class Spliterators {
      * @param toIndex One past the greatest index to cover
      * @param additionalCharacteristics Additional spliterator characteristics
      *        of this spliterator's source or elements beyond {@code SIZED} and
-     *        {@code SUBSIZED} which are are always reported
+     *        {@code SUBSIZED} which are always reported
      * @return A spliterator for an array
      * @throws NullPointerException if the given array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
@@ -907,7 +907,7 @@ public final class Spliterators {
          * @param array the array, assumed to be unmodified during use
          * @param additionalCharacteristics Additional spliterator characteristics
          * of this spliterator's source or elements beyond {@code SIZED} and
-         * {@code SUBSIZED} which are are always reported
+         * {@code SUBSIZED} which are always reported
          */
         public ArraySpliterator(Object[] array, int additionalCharacteristics) {
             this(array, 0, array.length, additionalCharacteristics);
@@ -920,7 +920,7 @@ public final class Spliterators {
          * @param fence one past the greatest index to cover
          * @param additionalCharacteristics Additional spliterator characteristics
          * of this spliterator's source or elements beyond {@code SIZED} and
-         * {@code SUBSIZED} which are are always reported
+         * {@code SUBSIZED} which are always reported
          */
         public ArraySpliterator(Object[] array, int origin, int fence, int additionalCharacteristics) {
             this.array = array;
@@ -992,7 +992,7 @@ public final class Spliterators {
          * @param array the array, assumed to be unmodified during use
          * @param additionalCharacteristics Additional spliterator characteristics
          *        of this spliterator's source or elements beyond {@code SIZED} and
-         *        {@code SUBSIZED} which are are always reported
+         *        {@code SUBSIZED} which are always reported
          */
         public IntArraySpliterator(int[] array, int additionalCharacteristics) {
             this(array, 0, array.length, additionalCharacteristics);
@@ -1005,7 +1005,7 @@ public final class Spliterators {
          * @param fence one past the greatest index to cover
          * @param additionalCharacteristics Additional spliterator characteristics
          *        of this spliterator's source or elements beyond {@code SIZED} and
-         *        {@code SUBSIZED} which are are always reported
+         *        {@code SUBSIZED} which are always reported
          */
         public IntArraySpliterator(int[] array, int origin, int fence, int additionalCharacteristics) {
             this.array = array;
@@ -1075,7 +1075,7 @@ public final class Spliterators {
          * @param array the array, assumed to be unmodified during use
          * @param additionalCharacteristics Additional spliterator characteristics
          *        of this spliterator's source or elements beyond {@code SIZED} and
-         *        {@code SUBSIZED} which are are always reported
+         *        {@code SUBSIZED} which are always reported
          */
         public LongArraySpliterator(long[] array, int additionalCharacteristics) {
             this(array, 0, array.length, additionalCharacteristics);
@@ -1088,7 +1088,7 @@ public final class Spliterators {
          * @param fence one past the greatest index to cover
          * @param additionalCharacteristics Additional spliterator characteristics
          *        of this spliterator's source or elements beyond {@code SIZED} and
-         *        {@code SUBSIZED} which are are always reported
+         *        {@code SUBSIZED} which are always reported
          */
         public LongArraySpliterator(long[] array, int origin, int fence, int additionalCharacteristics) {
             this.array = array;
@@ -1158,7 +1158,7 @@ public final class Spliterators {
          * @param array the array, assumed to be unmodified during use
          * @param additionalCharacteristics Additional spliterator characteristics
          *        of this spliterator's source or elements beyond {@code SIZED} and
-         *        {@code SUBSIZED} which are are always reported
+         *        {@code SUBSIZED} which are always reported
          */
         public DoubleArraySpliterator(double[] array, int additionalCharacteristics) {
             this(array, 0, array.length, additionalCharacteristics);
@@ -1171,7 +1171,7 @@ public final class Spliterators {
          * @param fence one past the greatest index to cover
          * @param additionalCharacteristics Additional spliterator characteristics
          *        of this spliterator's source or elements beyond {@code SIZED} and
-         *        {@code SUBSIZED} which are are always reported
+         *        {@code SUBSIZED} which are always reported
          */
         public DoubleArraySpliterator(double[] array, int origin, int fence, int additionalCharacteristics) {
             this.array = array;
@@ -1698,7 +1698,7 @@ public final class Spliterators {
         private int batch;            // batch size for splits
 
         /**
-         * Creates a spliterator using the given given
+         * Creates a spliterator using the given
          * collection's {@link java.util.Collection#iterator()) for traversal,
          * and reporting its {@link java.util.Collection#size()) as its initial
          * size.
diff --git a/jdk/src/java.base/share/classes/javax/security/auth/Policy.java b/jdk/src/java.base/share/classes/javax/security/auth/Policy.java
index 97d08a7ccc0..3536d743aed 100644
--- a/jdk/src/java.base/share/classes/javax/security/auth/Policy.java
+++ b/jdk/src/java.base/share/classes/javax/security/auth/Policy.java
@@ -76,7 +76,7 @@ import sun.security.util.Debug;
  * </pre>
  *
  * The CodeBase and Signedby components of the triplet name/value pairs
- * are optional.  If they are not present, then any any codebase will match,
+ * are optional.  If they are not present, then any codebase will match,
  * and any signer (including unsigned code) will match.
  * For Example,
  *
diff --git a/jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java b/jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java
index da75d683425..187c8c7156f 100644
--- a/jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java
+++ b/jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java
@@ -137,7 +137,7 @@ public class SubjectDomainCombiner implements java.security.DomainCombiner {
      * @param currentDomains the ProtectionDomains associated with the
      *          current execution Thread, up to the most recent
      *          privileged {@code ProtectionDomain}.
-     *          The ProtectionDomains are are listed in order of execution,
+     *          The ProtectionDomains are listed in order of execution,
      *          with the most recently executing {@code ProtectionDomain}
      *          residing at the beginning of the array. This parameter may
      *          be {@code null} if the current execution Thread
diff --git a/jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Frame.java b/jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Frame.java
index 811b74c7242..bb7ff8f5147 100644
--- a/jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Frame.java
+++ b/jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Frame.java
@@ -192,7 +192,7 @@ final class Frame {
     private static final int LOCAL = 0x2000000;
 
     /**
-     * Kind of the the types that are relative to the stack of an input stack
+     * Kind of the types that are relative to the stack of an input stack
      * map frame. The value of such types is a position relatively to the top of
      * this stack.
      */
diff --git a/jdk/src/java.base/share/classes/jdk/internal/util/xml/XMLStreamWriter.java b/jdk/src/java.base/share/classes/jdk/internal/util/xml/XMLStreamWriter.java
index e67933b4d8d..0478420c9fa 100644
--- a/jdk/src/java.base/share/classes/jdk/internal/util/xml/XMLStreamWriter.java
+++ b/jdk/src/java.base/share/classes/jdk/internal/util/xml/XMLStreamWriter.java
@@ -116,7 +116,7 @@ public  interface XMLStreamWriter {
     public void writeStartDocument() throws XMLStreamException;
 
     /**
-     * Write the XML Declaration. Defaults the the encoding to utf-8
+     * Write the XML Declaration. Defaults the encoding to utf-8
      * @param version version of the xml document
      * @throws XMLStreamException
      */
diff --git a/jdk/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java b/jdk/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java
index fc870fc9403..e10d2e1117f 100644
--- a/jdk/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java
+++ b/jdk/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java
@@ -80,7 +80,7 @@ public class VerifyAccess {
      * @param defc the class in which the proposed member is actually defined
      * @param mods modifier flags for the proposed member
      * @param lookupClass the class for which the access check is being made
-     * @return true iff the the accessing class can access such a member
+     * @return true iff the accessing class can access such a member
      */
     public static boolean isMemberAccessible(Class<?> refc,  // symbolic ref class
                                              Class<?> defc,  // actual def class
diff --git a/jdk/src/java.base/share/classes/sun/misc/JavaNioAccess.java b/jdk/src/java.base/share/classes/sun/misc/JavaNioAccess.java
index e4f0a781290..8a1d68d0473 100644
--- a/jdk/src/java.base/share/classes/sun/misc/JavaNioAccess.java
+++ b/jdk/src/java.base/share/classes/sun/misc/JavaNioAccess.java
@@ -42,7 +42,7 @@ public interface JavaNioAccess {
 
     /**
      * Constructs a direct ByteBuffer referring to the block of memory starting
-     * at the given memory address and and extending {@code cap} bytes.
+     * at the given memory address and extending {@code cap} bytes.
      * The {@code ob} parameter is an arbitrary object that is attached
      * to the resulting buffer.
      */
diff --git a/jdk/src/java.base/share/classes/sun/misc/VM.java b/jdk/src/java.base/share/classes/sun/misc/VM.java
index 9ddff0e2f87..c877e40446f 100644
--- a/jdk/src/java.base/share/classes/sun/misc/VM.java
+++ b/jdk/src/java.base/share/classes/sun/misc/VM.java
@@ -150,7 +150,7 @@ public class VM {
     private static volatile boolean booted = false;
     private static final Object lock = new Object();
 
-    // Invoked by by System.initializeSystemClass just before returning.
+    // Invoked by System.initializeSystemClass just before returning.
     // Subsystems that are invoked during initialization can check this
     // property in order to avoid doing things that should wait until the
     // application class loader has been set up.
diff --git a/jdk/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java b/jdk/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java
index 61ab2fbb9d3..47aabf5cbf2 100644
--- a/jdk/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java
+++ b/jdk/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java
@@ -2187,7 +2187,7 @@ public class FtpClient extends sun.net.ftp.FtpClient {
             return resp.get(0).substring(4);
         }
         // on multiple lines answers, like the ones above, remove 1st and last
-        // line, concat the the others.
+        // line, concat the others.
         StringBuilder sb = new StringBuilder();
         for (int i = 1; i < resp.size() - 1; i++) {
             sb.append(resp.get(i).substring(3));
diff --git a/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationType.java b/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationType.java
index a5ed190203a..669099019f1 100644
--- a/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationType.java
+++ b/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationType.java
@@ -213,7 +213,7 @@ public class AnnotationType {
     }
 
     /**
-     * Returns true if this this annotation type is inherited.
+     * Returns true if this annotation type is inherited.
      */
     public boolean isInherited() {
         return inherited;
diff --git a/jdk/src/java.base/share/classes/sun/security/provider/PolicyFile.java b/jdk/src/java.base/share/classes/sun/security/provider/PolicyFile.java
index ccc8847b300..b59c4794fda 100644
--- a/jdk/src/java.base/share/classes/sun/security/provider/PolicyFile.java
+++ b/jdk/src/java.base/share/classes/sun/security/provider/PolicyFile.java
@@ -1040,7 +1040,7 @@ public class PolicyFile extends java.security.Policy {
     }
 
     /**
-     * Evaluates the the global policy for the permissions granted to
+     * Evaluates the global policy for the permissions granted to
      * the ProtectionDomain and tests whether the permission is
      * granted.
      *
diff --git a/jdk/src/java.base/share/classes/sun/security/ssl/EphemeralKeyManager.java b/jdk/src/java.base/share/classes/sun/security/ssl/EphemeralKeyManager.java
index 47dba955e84..25fd4754a91 100644
--- a/jdk/src/java.base/share/classes/sun/security/ssl/EphemeralKeyManager.java
+++ b/jdk/src/java.base/share/classes/sun/security/ssl/EphemeralKeyManager.java
@@ -41,7 +41,7 @@ final class EphemeralKeyManager {
 
     /*
      * Current cached RSA KeyPairs. Elements are never null.
-     * Indexed via the the constants above.
+     * Indexed via the constants above.
      */
     private final EphemeralKeyPair[] keys = new EphemeralKeyPair[] {
         new EphemeralKeyPair(null),
diff --git a/jdk/src/java.base/share/classes/sun/security/ssl/MAC.java b/jdk/src/java.base/share/classes/sun/security/ssl/MAC.java
index 75dba7e1f90..dc03a3a2bb0 100644
--- a/jdk/src/java.base/share/classes/sun/security/ssl/MAC.java
+++ b/jdk/src/java.base/share/classes/sun/security/ssl/MAC.java
@@ -120,7 +120,7 @@ final class MAC extends Authenticator {
      * @param buf compressed record on which the MAC is computed
      * @param offset start of compressed record data
      * @param len the size of the compressed record
-     * @param isSimulated if true, simulate the the MAC computation
+     * @param isSimulated if true, simulate the MAC computation
      */
     final byte[] compute(byte type, byte buf[],
             int offset, int len, boolean isSimulated) {
@@ -147,7 +147,7 @@ final class MAC extends Authenticator {
      * @param type record type
      * @param bb a ByteBuffer in which the position and limit
      *          demarcate the data to be MAC'd.
-     * @param isSimulated if true, simulate the the MAC computation
+     * @param isSimulated if true, simulate the MAC computation
      */
     final byte[] compute(byte type, ByteBuffer bb, boolean isSimulated) {
         if (macAlg.size == 0) {
diff --git a/jdk/src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java b/jdk/src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java
index 7a71a0ecab1..50e2aeb1367 100644
--- a/jdk/src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java
+++ b/jdk/src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java
@@ -77,7 +77,7 @@ import javax.net.ssl.SSLEngineResult.*;
  *      All data is routed through
  *      EngineInputRecord/EngineOutputRecord.  However, all handshake
  *      data (ct_alert/ct_change_cipher_spec/ct_handshake) are passed
- *      through to the the underlying InputRecord/OutputRecord, and
+ *      through to the underlying InputRecord/OutputRecord, and
  *      the data uses the internal buffers.
  *
  *      Application data is handled slightly different, we copy the data
@@ -158,7 +158,7 @@ final public class SSLEngineImpl extends SSLEngine {
      *                v                                     |
      *               ERROR>------>----->CLOSED<--------<----+
      *
-     * ALSO, note that the the purpose of handshaking (renegotiation is
+     * ALSO, note that the purpose of handshaking (renegotiation is
      * included) is to assign a different, and perhaps new, session to
      * the connection.  The SSLv3 spec is a bit confusing on that new
      * protocol feature.
diff --git a/jdk/src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java b/jdk/src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java
index 5001cdd1d05..aae9bcf34eb 100644
--- a/jdk/src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java
+++ b/jdk/src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java
@@ -144,7 +144,7 @@ final public class SSLSocketImpl extends BaseSSLSocketImpl {
      *                                     v
      *                                 APP_CLOSED
      *
-     * ALSO, note that the the purpose of handshaking (renegotiation is
+     * ALSO, note that the purpose of handshaking (renegotiation is
      * included) is to assign a different, and perhaps new, session to
      * the connection.  The SSLv3 spec is a bit confusing on that new
      * protocol feature.
@@ -2190,7 +2190,7 @@ final public class SSLSocketImpl extends BaseSSLSocketImpl {
     }
 
     /**
-     * Returns the the SSL Session in use by this connection.  These can
+     * Returns the SSL Session in use by this connection.  These can
      * be long lived, and frequently correspond to an entire login session
      * for some user.
      */
diff --git a/jdk/src/java.base/share/classes/sun/security/ssl/ServerHandshaker.java b/jdk/src/java.base/share/classes/sun/security/ssl/ServerHandshaker.java
index 85c1b4d56f3..f042b7e2067 100644
--- a/jdk/src/java.base/share/classes/sun/security/ssl/ServerHandshaker.java
+++ b/jdk/src/java.base/share/classes/sun/security/ssl/ServerHandshaker.java
@@ -1467,7 +1467,7 @@ final class ServerHandshaker extends Handshaker {
                 if (serverPrincipal != null) {
                     // When service is bound, we check ASAP. Otherwise,
                     // will check after client request is received
-                    // in in Kerberos ClientKeyExchange
+                    // in Kerberos ClientKeyExchange
                     SecurityManager sm = System.getSecurityManager();
                     try {
                         if (sm != null) {
diff --git a/jdk/src/java.base/share/classes/sun/security/x509/AlgorithmId.java b/jdk/src/java.base/share/classes/sun/security/x509/AlgorithmId.java
index f34d973fc73..68068e6f3f1 100644
--- a/jdk/src/java.base/share/classes/sun/security/x509/AlgorithmId.java
+++ b/jdk/src/java.base/share/classes/sun/security/x509/AlgorithmId.java
@@ -39,7 +39,7 @@ import sun.security.util.*;
  * algorithm type, and may also be used in other cases.  Equivalence is
  * defined according to OID and (where relevant) parameters.
  *
- * <P>Subclasses may be used, for example when when the algorithm ID has
+ * <P>Subclasses may be used, for example when the algorithm ID has
  * associated parameters which some code (e.g. code using public keys) needs
  * to have parsed.  Two examples of such algorithms are Diffie-Hellman key
  * exchange, and the Digital Signature Standard Algorithm (DSS/DSA).
diff --git a/jdk/src/java.base/share/classes/sun/security/x509/GeneralName.java b/jdk/src/java.base/share/classes/sun/security/x509/GeneralName.java
index e9b69f0b3e9..0c03fa3167d 100644
--- a/jdk/src/java.base/share/classes/sun/security/x509/GeneralName.java
+++ b/jdk/src/java.base/share/classes/sun/security/x509/GeneralName.java
@@ -221,7 +221,7 @@ public class GeneralName {
     /**
      * Encode the name to the specified DerOutputStream.
      *
-     * @param out the DerOutputStream to encode the the GeneralName to.
+     * @param out the DerOutputStream to encode the GeneralName to.
      * @exception IOException on encoding errors.
      */
     public void encode(DerOutputStream out) throws IOException {
diff --git a/jdk/src/java.base/share/classes/sun/security/x509/URIName.java b/jdk/src/java.base/share/classes/sun/security/x509/URIName.java
index a1eef610b67..4331461f1b9 100644
--- a/jdk/src/java.base/share/classes/sun/security/x509/URIName.java
+++ b/jdk/src/java.base/share/classes/sun/security/x509/URIName.java
@@ -302,7 +302,7 @@ public class URIName implements GeneralNameInterface {
      * <p>
      * RFC5280: For URIs, the constraint applies to the host part of the name.
      * The constraint may specify a host or a domain.  Examples would be
-     * "foo.bar.com";  and ".xyz.com".  When the the constraint begins with
+     * "foo.bar.com";  and ".xyz.com".  When the constraint begins with
      * a period, it may be expanded with one or more subdomains.  That is,
      * the constraint ".xyz.com" is satisfied by both abc.xyz.com and
      * abc.def.xyz.com.  However, the constraint ".xyz.com" is not satisfied
diff --git a/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java b/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java
index 8caef8c0820..1b786063172 100644
--- a/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java
+++ b/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java
@@ -336,7 +336,7 @@ public class X500Name implements GeneralNameInterface, Principal {
     }
 
     /**
-     * Return an immutable List of the the AVAs contained in all the
+     * Return an immutable List of the AVAs contained in all the
      * RDNs of this X500Name.
      */
     public List<AVA> allAvas() {
diff --git a/jdk/src/java.base/share/classes/sun/text/normalizer/NormalizerBase.java b/jdk/src/java.base/share/classes/sun/text/normalizer/NormalizerBase.java
index aadbb13ec08..b49db438449 100644
--- a/jdk/src/java.base/share/classes/sun/text/normalizer/NormalizerBase.java
+++ b/jdk/src/java.base/share/classes/sun/text/normalizer/NormalizerBase.java
@@ -646,9 +646,9 @@ public final class NormalizerBase implements Cloneable {
 
     /**
      * Compose a string.
-     * The string will be composed to according the the specified mode.
+     * The string will be composed according to the specified mode.
      * @param str        The string to compose.
-     * @param compat     If true the string will be composed accoding to
+     * @param compat     If true the string will be composed according to
      *                    NFKC rules and if false will be composed according to
      *                    NFC rules.
      * @param options    The only recognized option is UNICODE_3_2
@@ -694,9 +694,9 @@ public final class NormalizerBase implements Cloneable {
 
     /**
      * Decompose a string.
-     * The string will be decomposed to according the the specified mode.
+     * The string will be decomposed according to the specified mode.
      * @param str       The string to decompose.
-     * @param compat    If true the string will be decomposed accoding to NFKD
+     * @param compat    If true the string will be decomposed according to NFKD
      *                   rules and if false will be decomposed according to NFD
      *                   rules.
      * @return String   The decomposed string
@@ -708,9 +708,9 @@ public final class NormalizerBase implements Cloneable {
 
     /**
      * Decompose a string.
-     * The string will be decomposed to according the the specified mode.
+     * The string will be decomposed according to the specified mode.
      * @param str     The string to decompose.
-     * @param compat  If true the string will be decomposed accoding to NFKD
+     * @param compat  If true the string will be decomposed according to NFKD
      *                 rules and if false will be decomposed according to NFD
      *                 rules.
      * @param options The normalization options, ORed together (0 for no options).
@@ -756,7 +756,7 @@ public final class NormalizerBase implements Cloneable {
 
     /**
      * Normalize a string.
-     * The string will be normalized according the the specified normalization
+     * The string will be normalized according to the specified normalization
      * mode and options.
      * @param src       The char array to compose.
      * @param srcStart  Start index of the source
diff --git a/jdk/src/java.base/share/classes/sun/text/normalizer/UCharacterIterator.java b/jdk/src/java.base/share/classes/sun/text/normalizer/UCharacterIterator.java
index df1d4aedecb..e5059d7b8ee 100644
--- a/jdk/src/java.base/share/classes/sun/text/normalizer/UCharacterIterator.java
+++ b/jdk/src/java.base/share/classes/sun/text/normalizer/UCharacterIterator.java
@@ -247,7 +247,7 @@ public abstract class UCharacterIterator
 
     //// for StringPrep
     /**
-     * Convenience method for returning the underlying text storage as as string
+     * Convenience method for returning the underlying text storage as a string
      * @return the underlying text storage in the iterator as a string
      * @stable ICU 2.4
      */
diff --git a/jdk/src/java.base/share/classes/sun/text/normalizer/UTF16.java b/jdk/src/java.base/share/classes/sun/text/normalizer/UTF16.java
index 0a66f8f9434..0342a55648c 100644
--- a/jdk/src/java.base/share/classes/sun/text/normalizer/UTF16.java
+++ b/jdk/src/java.base/share/classes/sun/text/normalizer/UTF16.java
@@ -94,7 +94,7 @@ package sun.text.normalizer;
  *   </li>
  *   <li>
  *    <strong>Exceptions:</strong> The error checking will throw an exception
- *   if indices are out of bounds. Other than than that, all methods will
+ *   if indices are out of bounds. Other than that, all methods will
  *   behave reasonably, even if unmatched surrogates or out-of-bounds UTF-32
  *   values are present. <code>UCharacter.isLegal()</code> can be used to check
  *   for validity if desired.
diff --git a/jdk/src/java.base/share/native/libjli/java.c b/jdk/src/java.base/share/native/libjli/java.c
index becd6cbf749..f933959bda0 100644
--- a/jdk/src/java.base/share/native/libjli/java.c
+++ b/jdk/src/java.base/share/native/libjli/java.c
@@ -737,7 +737,7 @@ parse_size(const char *s, jlong *result) {
 }
 
 /*
- * Adds a new VM option with the given given name and value.
+ * Adds a new VM option with the given name and value.
  */
 void
 AddOption(char *str, void *info)
diff --git a/jdk/src/java.base/unix/native/libjli/java_md_solinux.c b/jdk/src/java.base/unix/native/libjli/java_md_solinux.c
index 77a36890a25..c453276b458 100644
--- a/jdk/src/java.base/unix/native/libjli/java_md_solinux.c
+++ b/jdk/src/java.base/unix/native/libjli/java_md_solinux.c
@@ -89,7 +89,7 @@
  *
  * However, if the environment contains a LD_LIBRARY_PATH, this will cause the
  * launcher to inspect the LD_LIBRARY_PATH. The launcher will check
- *  a. if the LD_LIBRARY_PATH's first component is the the path to the desired
+ *  a. if the LD_LIBRARY_PATH's first component is the path to the desired
  *     libjvm.so
  *  b. if any other libjvm.so is found in any of the paths.
  * If case b is true, then the launcher will set the LD_LIBRARY_PATH to the
diff --git a/jdk/src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c b/jdk/src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c
index 587ce7117b9..5a42e32911c 100644
--- a/jdk/src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c
+++ b/jdk/src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c
@@ -2070,7 +2070,7 @@ static void mcast_join_leave(JNIEnv *env, jobject this,
              * so we switch to IPV6_ADD_MEMBERSHIP socket option.
              * As of 2.4.7 kernel IPV6_ADD_MEMBERSHIP can't handle IPv4-mapped
              * addresses so we have to use IP_ADD_MEMBERSHIP for IPv4 multicast
-             * groups. However if the socket is an IPv6 socket then then setsockopt
+             * groups. However if the socket is an IPv6 socket then setsockopt
              * should return ENOPROTOOPT. We assume this will be fixed in Linux
              * at some stage.
              */
diff --git a/jdk/src/java.base/unix/native/libnet/PlainSocketImpl.c b/jdk/src/java.base/unix/native/libnet/PlainSocketImpl.c
index 4cdeba0fa2d..491bcea6f3b 100644
--- a/jdk/src/java.base/unix/native/libnet/PlainSocketImpl.c
+++ b/jdk/src/java.base/unix/native/libnet/PlainSocketImpl.c
@@ -1053,7 +1053,7 @@ Java_java_net_PlainSocketImpl_socketSendUrgentData(JNIEnv *env, jobject this,
     } else {
         fd = (*env)->GetIntField(env, fdObj, IO_fd_fdID);
         /* Bug 4086704 - If the Socket associated with this file descriptor
-         * was closed (sysCloseFD), the the file descriptor is set to -1.
+         * was closed (sysCloseFD), the file descriptor is set to -1.
          */
         if (fd == -1) {
             JNU_ThrowByName(env, "java/net/SocketException", "Socket closed");
diff --git a/jdk/src/java.base/unix/native/libnet/SocketOutputStream.c b/jdk/src/java.base/unix/native/libnet/SocketOutputStream.c
index 52f06e9d554..5d40bd83df3 100644
--- a/jdk/src/java.base/unix/native/libnet/SocketOutputStream.c
+++ b/jdk/src/java.base/unix/native/libnet/SocketOutputStream.c
@@ -74,7 +74,7 @@ Java_java_net_SocketOutputStream_socketWrite0(JNIEnv *env, jobject this,
     } else {
         fd = (*env)->GetIntField(env, fdObj, IO_fd_fdID);
         /* Bug 4086704 - If the Socket associated with this file descriptor
-         * was closed (sysCloseFD), the the file descriptor is set to -1.
+         * was closed (sysCloseFD), the file descriptor is set to -1.
          */
         if (fd == -1) {
             JNU_ThrowByName(env, "java/net/SocketException", "Socket closed");
diff --git a/jdk/src/java.base/unix/native/libnet/net_util_md.c b/jdk/src/java.base/unix/native/libnet/net_util_md.c
index ad9655452e4..6454b6256f7 100644
--- a/jdk/src/java.base/unix/native/libnet/net_util_md.c
+++ b/jdk/src/java.base/unix/native/libnet/net_util_md.c
@@ -1433,7 +1433,7 @@ NET_SetSockOpt(int fd, int level, int  opt, const void *arg,
 
     /*
      * On Linux the receive buffer is used for both socket
-     * structures and the the packet payload. The implication
+     * structures and the packet payload. The implication
      * is that if SO_RCVBUF is too small then small packets
      * must be discard.
      */
diff --git a/jdk/src/java.base/windows/native/libjli/cmdtoargs.c b/jdk/src/java.base/windows/native/libjli/cmdtoargs.c
index 352b1553a08..f4f893825ec 100644
--- a/jdk/src/java.base/windows/native/libjli/cmdtoargs.c
+++ b/jdk/src/java.base/windows/native/libjli/cmdtoargs.c
@@ -26,7 +26,7 @@
 
 /*
  * Converts a single string command line to the traditional argc, argv.
- * There are rules which govern the breaking of the the arguments, and
+ * There are rules which govern the breaking of the arguments, and
  * these rules are embodied in the regression tests below, and duplicated
  * in the jdk regression tests.
  */
diff --git a/jdk/src/java.base/windows/native/libnet/TwoStacksPlainSocketImpl.c b/jdk/src/java.base/windows/native/libnet/TwoStacksPlainSocketImpl.c
index facab5923f9..c4686e0fe78 100644
--- a/jdk/src/java.base/windows/native/libnet/TwoStacksPlainSocketImpl.c
+++ b/jdk/src/java.base/windows/native/libnet/TwoStacksPlainSocketImpl.c
@@ -1159,7 +1159,7 @@ Java_java_net_TwoStacksPlainSocketImpl_socketSendUrgentData(JNIEnv *env, jobject
     } else {
         fd = (*env)->GetIntField(env, fdObj, IO_fd_fdID);
         /* Bug 4086704 - If the Socket associated with this file descriptor
-         * was closed (sysCloseFD), the the file descriptor is set to -1.
+         * was closed (sysCloseFD), the file descriptor is set to -1.
          */
         if (fd == -1) {
             JNU_ThrowByName(env, "java/net/SocketException", "Socket closed");
diff --git a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaScrollPaneUI.java b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaScrollPaneUI.java
index 3241ab19150..ee0bf7cdf54 100644
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaScrollPaneUI.java
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaScrollPaneUI.java
@@ -41,7 +41,7 @@ public class AquaScrollPaneUI extends javax.swing.plaf.basic.BasicScrollPaneUI {
 
     // This is a grody hack to trick BasicScrollPaneUI into scrolling horizontally
     // when we notice that the shift key is down. This should be removed when AWT/Swing
-    // becomes aware of of multi-axis scroll wheels.
+    // becomes aware of multi-axis scroll wheels.
     protected class XYMouseWheelHandler extends javax.swing.plaf.basic.BasicScrollPaneUI.MouseWheelHandler {
         public void mouseWheelMoved(final MouseWheelEvent e) {
             JScrollBar vScrollBar = null;
diff --git a/jdk/src/java.desktop/macosx/classes/sun/java2d/OSXSurfaceData.java b/jdk/src/java.desktop/macosx/classes/sun/java2d/OSXSurfaceData.java
index 2592b6524f0..a2a6c67d9bd 100644
--- a/jdk/src/java.desktop/macosx/classes/sun/java2d/OSXSurfaceData.java
+++ b/jdk/src/java.desktop/macosx/classes/sun/java2d/OSXSurfaceData.java
@@ -1094,7 +1094,7 @@ public abstract class OSXSurfaceData extends BufImgSurfaceData {
     }
 
     /**
-     * Clips the copy area to the heavywieght bounds and returns the cliped rectangle. The tricky part here is the the
+     * Clips the copy area to the heavywieght bounds and returns the cliped rectangle. The tricky part here is the
      * passed arguments x, y are in the coordinate space of the sg2d/lightweight comp. In order to do the clipping we
      * translate them to the coordinate space of the surface, and the returned clipped rectangle is in the coordinate
      * space of the surface.
diff --git a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/ImageSurfaceData.m b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/ImageSurfaceData.m
index 82ee1f09488..fb2e2172b57 100644
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/ImageSurfaceData.m
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/ImageSurfaceData.m
@@ -1692,7 +1692,7 @@ static void ImageSD_Unlock(JNIEnv *env, SurfaceDataOps *ops, SurfaceDataRasInfo
 {
     ImageSDOps *isdo = (ImageSDOps*)ops;
 
-    // For every ImageSD_Unlock, we need to be be conservative and mark the pixels
+    // For every ImageSD_Unlock, we need to be conservative and mark the pixels
     // as modified by the Sun2D renderer.
     isdo->javaImageInfo[sun_java2d_OSXOffScreenSurfaceData_kNeedToSyncFromJavaPixelsIndex] = 1;
 
diff --git a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/QuartzSurfaceData.m b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/QuartzSurfaceData.m
index 131dc1e0d6f..81441f4a327 100644
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/QuartzSurfaceData.m
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/QuartzSurfaceData.m
@@ -72,7 +72,7 @@ static pthread_mutex_t gColorCacheLock = PTHREAD_MUTEX_INITIALIZER;
 
 // given a UInt32 color, it tries to find that find the corresponding CGColorRef in the hash cache. If the CGColorRef
 // doesn't exist or there is a collision, it creates a new one CGColorRef and put's in the cache. Then,
-// it sets with current fill/stroke color for the the CGContext passed in (qsdo->cgRef).
+// it sets with current fill/stroke color for the CGContext passed in (qsdo->cgRef).
 void setCachedColor(QuartzSDOps *qsdo, UInt32 color)
 {
     static const CGFloat kColorConversionMultiplier = 1.0f/255.0f;
diff --git a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java
index 348c0a64e9a..77c0e65dabc 100644
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java
@@ -898,7 +898,7 @@ class GTKColorChooserPanel extends AbstractColorChooserPanel implements
                              y > innerR)) {
                 return false;
             }
-            // Rotate to origin and and verify x is valid.
+            // Rotate to origin and verify x is valid.
             int triangleSize = innerR * 3 / 2;
             double x1 = Math.cos(angle) * x - Math.sin(angle) * y;
             double y1 = Math.sin(angle) * x + Math.cos(angle) * y;
diff --git a/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractMidiDevice.java b/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractMidiDevice.java
index 93c3926aaed..007d4a41aec 100644
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractMidiDevice.java
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/AbstractMidiDevice.java
@@ -87,7 +87,7 @@ abstract class AbstractMidiDevice implements MidiDevice, ReferenceCountingDevice
      * @param info the description of the device
      */
     /*
-     * The initial mode and and only supported mode default to OMNI_ON_POLY.
+     * The initial mode and only supported mode default to OMNI_ON_POLY.
      */
     protected AbstractMidiDevice(MidiDevice.Info info) {
 
@@ -108,7 +108,7 @@ abstract class AbstractMidiDevice implements MidiDevice, ReferenceCountingDevice
 
     /** Open the device from an application program.
      * Setting the open reference count to -1 here prevents Transmitters and Receivers that
-     * opened the the device implicitly from closing it. The only way to close the device after
+     * opened the device implicitly from closing it. The only way to close the device after
      * this call is a call to close().
      */
     public final void open() throws MidiUnavailableException {
diff --git a/jdk/src/java.desktop/share/classes/java/awt/Button.java b/jdk/src/java.desktop/share/classes/java/awt/Button.java
index cc01947a9f1..0db4edff694 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/Button.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/Button.java
@@ -609,7 +609,7 @@ public class Button extends Component implements Accessible {
          * Perform the specified Action on the object
          *
          * @param i zero-based index of actions
-         * @return true if the the action was performed; else false.
+         * @return true if the action was performed; else false.
          */
         public boolean doAccessibleAction(int i) {
             if (i == 0) {
diff --git a/jdk/src/java.desktop/share/classes/java/awt/Checkbox.java b/jdk/src/java.desktop/share/classes/java/awt/Checkbox.java
index 021b2fcebaa..7c64086bc89 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/Checkbox.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/Checkbox.java
@@ -788,7 +788,7 @@ public class Checkbox extends Component implements ItemSelectable, Accessible {
          * Perform the specified Action on the object
          *
          * @param i zero-based index of actions
-         * @return true if the the action was performed; else false.
+         * @return true if the action was performed; else false.
          */
         public boolean doAccessibleAction(int i) {
             return false;    //  To be fully implemented in a future release
diff --git a/jdk/src/java.desktop/share/classes/java/awt/Component.java b/jdk/src/java.desktop/share/classes/java/awt/Component.java
index 95e5d094b01..42288ce216f 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/Component.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/Component.java
@@ -4281,7 +4281,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
         }
 
         /**
-         * Makes specified region of the the next available buffer visible
+         * Makes specified region of the next available buffer visible
          * by either blitting or flipping.
          */
         void showSubRegion(int x1, int y1, int x2, int y2) {
@@ -7431,7 +7431,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
      * @param id one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
      *        KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or
      *        KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
-     * @return <code>true</code> if the the Set of focus traversal keys for the
+     * @return <code>true</code> if the Set of focus traversal keys for the
      *         given focus traversal operation has been explicitly defined for
      *         this Component; <code>false</code> otherwise.
      * @throws IllegalArgumentException if id is not one of
diff --git a/jdk/src/java.desktop/share/classes/java/awt/Container.java b/jdk/src/java.desktop/share/classes/java/awt/Container.java
index abe6bff20f5..cb5be767a79 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/Container.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/Container.java
@@ -3193,7 +3193,7 @@ public class Container extends Component {
      *        KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,
      *        KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or
      *        KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
-     * @return <code>true</code> if the the Set of focus traversal keys for the
+     * @return <code>true</code> if the Set of focus traversal keys for the
      *         given focus traversal operation has been explicitly defined for
      *         this Component; <code>false</code> otherwise.
      * @throws IllegalArgumentException if id is not one of
diff --git a/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java b/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java
index 58e31332298..c398db77fdc 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java
@@ -823,7 +823,7 @@ public class EventQueue {
     }
 
     /**
-     * Returns the the event currently being dispatched by the
+     * Returns the event currently being dispatched by the
      * <code>EventQueue</code> associated with the calling thread. This is
      * useful if a method needs access to the event, but was not designed to
      * receive a reference to it as an argument. Note that this method should
diff --git a/jdk/src/java.desktop/share/classes/java/awt/FlowLayout.java b/jdk/src/java.desktop/share/classes/java/awt/FlowLayout.java
index 14142cafc39..4405620de13 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/FlowLayout.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/FlowLayout.java
@@ -503,7 +503,7 @@ public class FlowLayout implements LayoutManager, java.io.Serializable {
      * @param width the width dimensions
      * @param height the height dimensions
      * @param rowStart the beginning of the row
-     * @param rowEnd the the ending of the row
+     * @param rowEnd the ending of the row
      * @param useBaseline Whether or not to align on baseline.
      * @param ascent Ascent for the components. This is only valid if
      *               useBaseline is true.
diff --git a/jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java b/jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java
index 531d7ba4744..21e1c7968a5 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java
@@ -1771,7 +1771,7 @@ public abstract class KeyboardFocusManager
      * will be notified in the order in which they were added; the current
      * KeyboardFocusManager will be notified last. Notifications will halt
      * as soon as one KeyEventPostProcessor returns <code>true</code> from its
-     * <code>postProcessKeyEvent</code> method. There is no limit to the the
+     * <code>postProcessKeyEvent</code> method. There is no limit to the
      * total number of KeyEventPostProcessors that can be added, nor to the
      * number of times that a particular KeyEventPostProcessor instance can be
      * added.
@@ -2666,7 +2666,7 @@ public abstract class KeyboardFocusManager
                      * We allow to trigger restoreFocus() in the dispatching process
                      * only if we have the last request to dispatch. If the last request
                      * fails, focus will be restored to either the component of the last
-                     * previously succeeded request, or to to the focus owner that was
+                     * previously succeeded request, or to the focus owner that was
                      * before this clearing process.
                      */
                     if (!iter.hasNext()) {
diff --git a/jdk/src/java.desktop/share/classes/java/awt/List.java b/jdk/src/java.desktop/share/classes/java/awt/List.java
index bf9287b3372..301245978e5 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/List.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/List.java
@@ -347,7 +347,7 @@ public class List extends Component implements ItemSelectable, Accessible {
     }
 
     /**
-     * Adds the specified item to the the scrolling list
+     * Adds the specified item to the scrolling list
      * at the position indicated by the index.  The index is
      * zero-based.  If the value of the index is less than zero,
      * or if the value of the index is greater than or equal to
@@ -364,7 +364,7 @@ public class List extends Component implements ItemSelectable, Accessible {
     }
 
     /**
-     * Adds the specified item to the the list
+     * Adds the specified item to the list
      * at the position indicated by the index.
      *
      * @param  item the item to be added
diff --git a/jdk/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java b/jdk/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java
index f9bfe04c094..54c6c196823 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java
@@ -418,7 +418,7 @@ abstract class MultipleGradientPaintContext implements PaintContext {
             // each interval
             gradients[i] = new int[GRADIENT_SIZE];
 
-            // get the the 2 colors
+            // get the 2 colors
             rgb1 = colors[i].getRGB();
             rgb2 = colors[i+1].getRGB();
 
diff --git a/jdk/src/java.desktop/share/classes/java/awt/RadialGradientPaint.java b/jdk/src/java.desktop/share/classes/java/awt/RadialGradientPaint.java
index 0f4c8dea1a7..a58fdf6b8ad 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/RadialGradientPaint.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/RadialGradientPaint.java
@@ -94,7 +94,7 @@ import java.beans.ConstructorProperties;
  * Note that some minor variations in distances may occur due to sampling at
  * the granularity of a pixel.
  * If no cycle method is specified, {@code NO_CYCLE} will be chosen by
- * default, which means the the last keyframe color will be used to fill the
+ * default, which means the last keyframe color will be used to fill the
  * remaining area.
  * <p>
  * The colorSpace parameter allows the user to specify in which colorspace
diff --git a/jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java b/jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java
index a504252be6a..15129a457ea 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java
@@ -208,7 +208,7 @@ class WaitDispatchSupport implements SecondaryLoop {
                     }
                 }, interval);
             }
-            // Dispose SequencedEvent we are dispatching on the the current
+            // Dispose SequencedEvent we are dispatching on the current
             // AppContext, to prevent us from hang - see 4531693 for details
             SequencedEvent currentSE = KeyboardFocusManager.
                 getCurrentKeyboardFocusManager().getCurrentSequencedEvent();
@@ -220,7 +220,7 @@ class WaitDispatchSupport implements SecondaryLoop {
             }
             // In case the exit() method is called before starting
             // new event pump it will post the waking event to EDT.
-            // The event will be handled after the the new event pump
+            // The event will be handled after the new event pump
             // starts. Thus, the enter() method will not hang.
             //
             // Event pump should be privileged. See 6300270.
diff --git a/jdk/src/java.desktop/share/classes/java/awt/datatransfer/DataFlavor.java b/jdk/src/java.desktop/share/classes/java/awt/datatransfer/DataFlavor.java
index 84b18fc332a..7d215445447 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/datatransfer/DataFlavor.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/datatransfer/DataFlavor.java
@@ -384,7 +384,7 @@ public class DataFlavor implements Externalizable, Cloneable {
      * @param representationClass the class used to transfer data in this flavor
      * @param humanPresentableName the human-readable string used to identify
      *                 this flavor; if this parameter is <code>null</code>
-     *                 then the value of the the MIME Content Type is used
+     *                 then the value of the MIME Content Type is used
      * @exception NullPointerException if <code>representationClass</code> is null
      */
     public DataFlavor(Class<?> representationClass, String humanPresentableName) {
@@ -418,7 +418,7 @@ public class DataFlavor implements Externalizable, Cloneable {
      *                 is thrown
      * @param humanPresentableName the human-readable string used to identify
      *                 this flavor; if this parameter is <code>null</code>
-     *                 then the value of the the MIME Content Type is used
+     *                 then the value of the MIME Content Type is used
      * @exception IllegalArgumentException if <code>mimeType</code> is
      *                 invalid or if the class is not successfully loaded
      * @exception NullPointerException if <code>mimeType</code> is null
diff --git a/jdk/src/java.desktop/share/classes/java/awt/event/KeyEvent.java b/jdk/src/java.desktop/share/classes/java/awt/event/KeyEvent.java
index a29ba86c291..b8cbea6052e 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/event/KeyEvent.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/event/KeyEvent.java
@@ -1309,7 +1309,7 @@ public class KeyEvent extends InputEvent {
     /**
      * Set the keyChar value to indicate a logical character.
      *
-     * @param keyChar a char corresponding to to the combination of keystrokes
+     * @param keyChar a char corresponding to the combination of keystrokes
      *                that make up this event.
      */
     public void setKeyChar(char keyChar) {
diff --git a/jdk/src/java.desktop/share/classes/java/awt/font/GlyphVector.java b/jdk/src/java.desktop/share/classes/java/awt/font/GlyphVector.java
index dd77e4d9ae2..da81237f3a0 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/font/GlyphVector.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/font/GlyphVector.java
@@ -341,7 +341,7 @@ public abstract class GlyphVector implements Cloneable {
     /**
      * Returns the position of the specified glyph relative to the
      * origin of this <code>GlyphVector</code>.
-     * If <code>glyphIndex</code> equals the number of of glyphs in
+     * If <code>glyphIndex</code> equals the number of glyphs in
      * this <code>GlyphVector</code>, this method returns the position after
      * the last glyph. This position is used to define the advance of
      * the entire <code>GlyphVector</code>.
@@ -358,7 +358,7 @@ public abstract class GlyphVector implements Cloneable {
     /**
      * Sets the position of the specified glyph within this
      * <code>GlyphVector</code>.
-     * If <code>glyphIndex</code> equals the number of of glyphs in
+     * If <code>glyphIndex</code> equals the number of glyphs in
      * this <code>GlyphVector</code>, this method sets the position after
      * the last glyph. This position is used to define the advance of
      * the entire <code>GlyphVector</code>.
@@ -477,7 +477,7 @@ public abstract class GlyphVector implements Cloneable {
      * coordinates of the glyph numbered <code>beginGlyphIndex + position/2</code>.
      * Odd numbered array entries beginning with position one are the Y
      * coordinates of the glyph numbered <code>beginGlyphIndex + (position-1)/2</code>.
-     * If <code>beginGlyphIndex</code> equals the number of of glyphs in
+     * If <code>beginGlyphIndex</code> equals the number of glyphs in
      * this <code>GlyphVector</code>, this method gets the position after
      * the last glyph and this position is used to define the advance of
      * the entire <code>GlyphVector</code>.
diff --git a/jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java b/jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java
index fdaa2da1c7e..aaac5cc5d1c 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java
@@ -832,7 +832,7 @@ public final class TextAttribute extends Attribute {
     /**
      * Attribute key for the embedding level of the text.  Values are
      * instances of <b><code>Integer</code></b>.  The default value is
-     * <code>null</code>, indicating that the the Bidirectional
+     * <code>null</code>, indicating that the Bidirectional
      * algorithm should run without explicit embeddings.
      *
      * <p>Positive values 1 through 61 are <em>embedding</em> levels,
diff --git a/jdk/src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java b/jdk/src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java
index 7c188871cfc..72093e31f54 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java
@@ -577,7 +577,7 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
 
     /**
      * Returns the bounding box of the destination, given this source.
-     * Note that this will be the same as the the bounding box of the
+     * Note that this will be the same as the bounding box of the
      * source.
      * @param src the source <code>BufferedImage</code>
      * @return a <code>Rectangle2D</code> that is the bounding box
@@ -589,7 +589,7 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
 
     /**
      * Returns the bounding box of the destination, given this source.
-     * Note that this will be the same as the the bounding box of the
+     * Note that this will be the same as the bounding box of the
      * source.
      * @param src the source <code>Raster</code>
      * @return a <code>Rectangle2D</code> that is the bounding box
diff --git a/jdk/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java b/jdk/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java
index e2fe5e13eb4..b03110f736d 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java
@@ -92,7 +92,7 @@ import java.awt.color.ICC_ColorSpace;
  * <p>
  * For instances with unsigned sample values,
  * the unnormalized color/alpha component representation is only
- * supported if two conditions hold.  First, sample value value 0 must
+ * supported if two conditions hold.  First, sample value 0 must
  * map to normalized component value 0.0 and sample value 2<sup>n</sup> - 1
  * to 1.0.  Second the min/max range of all color components of the
  * <code>ColorSpace</code> must be 0.0 to 1.0.  In this case, the
diff --git a/jdk/src/java.desktop/share/classes/java/awt/print/PrinterIOException.java b/jdk/src/java.desktop/share/classes/java/awt/print/PrinterIOException.java
index 16463270231..840854a2c32 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/print/PrinterIOException.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/print/PrinterIOException.java
@@ -76,7 +76,7 @@ public class PrinterIOException extends PrinterException {
     }
 
     /**
-     * Returns the the cause of this exception (the <code>IOException</code>
+     * Returns the cause of this exception (the <code>IOException</code>
      * that terminated the print job).
      *
      * @return  the cause of this exception.
diff --git a/jdk/src/java.desktop/share/classes/java/beans/Encoder.java b/jdk/src/java.desktop/share/classes/java/beans/Encoder.java
index 48292d04b99..2901afd3ea7 100644
--- a/jdk/src/java.desktop/share/classes/java/beans/Encoder.java
+++ b/jdk/src/java.desktop/share/classes/java/beans/Encoder.java
@@ -121,7 +121,7 @@ public class Encoder {
      * it is returned.
      * <li>
      * A persistence delegate is then looked up by the name
-     * composed of the the fully qualified name of the given type
+     * composed of the fully qualified name of the given type
      * and the "PersistenceDelegate" postfix.
      * For example, a persistence delegate for the {@code Bean} class
      * should be named {@code BeanPersistenceDelegate}
diff --git a/jdk/src/java.desktop/share/classes/java/beans/Transient.java b/jdk/src/java.desktop/share/classes/java/beans/Transient.java
index 165621b39fd..d5eab857d1b 100644
--- a/jdk/src/java.desktop/share/classes/java/beans/Transient.java
+++ b/jdk/src/java.desktop/share/classes/java/beans/Transient.java
@@ -41,7 +41,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
  * indicates to encoders derived from {@link Encoder}
  * that this feature should be ignored.
  * <p>
- * The {@code Transient} annotation may be be used
+ * The {@code Transient} annotation may be used
  * in any of the methods that are involved
  * in a {@link FeatureDescriptor} subclass
  * to identify the transient feature in the annotated class and its subclasses.
diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/IIOParam.java b/jdk/src/java.desktop/share/classes/javax/imageio/IIOParam.java
index ca73f6acbd9..d60407918c1 100644
--- a/jdk/src/java.desktop/share/classes/javax/imageio/IIOParam.java
+++ b/jdk/src/java.desktop/share/classes/javax/imageio/IIOParam.java
@@ -442,7 +442,7 @@ public abstract class IIOParam {
     }
 
     /**
-     * Returns the set of of source bands to be used. The returned
+     * Returns the set of source bands to be used. The returned
      * value is that set by the most recent call to
      * <code>setSourceBands</code>, or <code>null</code> if there have
      * been no calls to <code>setSourceBands</code>.
diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/event/IIOReadUpdateListener.java b/jdk/src/java.desktop/share/classes/javax/imageio/event/IIOReadUpdateListener.java
index 48e03e6244f..76a93452afc 100644
--- a/jdk/src/java.desktop/share/classes/javax/imageio/event/IIOReadUpdateListener.java
+++ b/jdk/src/java.desktop/share/classes/javax/imageio/event/IIOReadUpdateListener.java
@@ -70,7 +70,7 @@ public interface IIOReadUpdateListener extends EventListener {
      * a value of 1 means no gaps.
      * @param periodY the vertical spacing between updated pixels;
      * a value of 1 means no gaps.
-     * @param bands an array of <code>int</code>s indicating the the
+     * @param bands an array of <code>int</code>s indicating the
      * set bands that may be updated.
      */
     void passStarted(ImageReader source,
@@ -187,7 +187,7 @@ public interface IIOReadUpdateListener extends EventListener {
      * a value of 1 means no gaps.
      * @param periodY the vertical spacing between updated pixels;
      * a value of 1 means no gaps.
-     * @param bands an array of <code>int</code>s indicating the the
+     * @param bands an array of <code>int</code>s indicating the
      * set bands that may be updated.
      *
      * @see #passStarted
diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/jpeg/JPEGQTable.java b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/jpeg/JPEGQTable.java
index 97b975b2152..40680b5e58d 100644
--- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/jpeg/JPEGQTable.java
+++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/jpeg/JPEGQTable.java
@@ -136,7 +136,7 @@ public class JPEGQTable {
     /**
      * Constructs a quantization table from the argument, which must
      * contain 64 elements in natural order (not zig-zag order).
-     * A copy is made of the the input array.
+     * A copy is made of the input array.
      * @param table the quantization table, as an <code>int</code> array.
      * @throws IllegalArgumentException if <code>table</code> is
      * <code>null</code> or <code>table.length</code> is not equal to 64.
diff --git a/jdk/src/java.desktop/share/classes/javax/sound/midi/MidiMessage.java b/jdk/src/java.desktop/share/classes/javax/sound/midi/MidiMessage.java
index 0633c32f72b..bc018758c68 100644
--- a/jdk/src/java.desktop/share/classes/javax/sound/midi/MidiMessage.java
+++ b/jdk/src/java.desktop/share/classes/javax/sound/midi/MidiMessage.java
@@ -52,7 +52,7 @@ package javax.sound.midi;
  * API uses integers instead of bytes when expressing MIDI data. For example,
  * the {@link #getStatus()} method of {@code MidiMessage} returns MIDI status
  * bytes as integers. If you are processing MIDI data that originated outside
- * Java Sound and now is encoded as signed bytes, the bytes can can be
+ * Java Sound and now is encoded as signed bytes, the bytes can be
  * converted to integers using this conversion:
  *
  * <center>{@code int i = (int)(byte & 0xFF)}</center>
diff --git a/jdk/src/java.desktop/share/classes/javax/sound/midi/ShortMessage.java b/jdk/src/java.desktop/share/classes/javax/sound/midi/ShortMessage.java
index 8dcf92f9552..782d9588de1 100644
--- a/jdk/src/java.desktop/share/classes/javax/sound/midi/ShortMessage.java
+++ b/jdk/src/java.desktop/share/classes/javax/sound/midi/ShortMessage.java
@@ -303,7 +303,7 @@ public class ShortMessage extends MidiMessage {
      * @param  status the MIDI status byte
      * @param  data1 the first data byte
      * @param  data2 the second data byte
-     * @throws InvalidMidiDataException if the the status byte, or all data
+     * @throws InvalidMidiDataException if the status byte, or all data
      *         bytes belonging to the message, do not specify a valid MIDI
      *         message
      * @see #setMessage(int, int, int, int)
diff --git a/jdk/src/java.desktop/share/classes/javax/sound/sampled/Clip.java b/jdk/src/java.desktop/share/classes/javax/sound/sampled/Clip.java
index 5ed01df832c..2592c32911d 100644
--- a/jdk/src/java.desktop/share/classes/javax/sound/sampled/Clip.java
+++ b/jdk/src/java.desktop/share/classes/javax/sound/sampled/Clip.java
@@ -178,7 +178,7 @@ public interface Clip extends DataLine {
     /**
      * Sets the first and last sample frames that will be played in the loop.
      * The ending point must be greater than or equal to the starting point, and
-     * both must fall within the the size of the loaded media. A value of 0 for
+     * both must fall within the size of the loaded media. A value of 0 for
      * the starting point means the beginning of the loaded media. Similarly, a
      * value of -1 for the ending point indicates the last frame of the media.
      *
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/AbstractButton.java b/jdk/src/java.desktop/share/classes/javax/swing/AbstractButton.java
index 49cfa3f7a9d..0ef73c831cb 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/AbstractButton.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/AbstractButton.java
@@ -1474,7 +1474,7 @@ public abstract class AbstractButton extends JComponent implements ItemSelectabl
      * area.  If you wish to have a transparent button, such as
      * an icon only button, for example, then you should set
      * this to <code>false</code>. Do not call <code>setOpaque(false)</code>.
-     * The default value for the the <code>contentAreaFilled</code>
+     * The default value for the <code>contentAreaFilled</code>
      * property is <code>true</code>.
      * <p>
      * This function may cause the component's opaque property to change.
@@ -1538,7 +1538,7 @@ public abstract class AbstractButton extends JComponent implements ItemSelectabl
     }
 
     /**
-     * Returns the keyboard mnemonic from the the current model.
+     * Returns the keyboard mnemonic from the current model.
      * @return the keyboard mnemonic from the model
      */
     public int getMnemonic() {
@@ -2562,7 +2562,7 @@ public abstract class AbstractButton extends JComponent implements ItemSelectabl
          * Perform the specified Action on the object
          *
          * @param i zero-based index of actions
-         * @return true if the the action was performed; else false.
+         * @return true if the action was performed; else false.
          */
         public boolean doAccessibleAction(int i) {
             if (i == 0) {
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/ArrayTable.java b/jdk/src/java.desktop/share/classes/javax/swing/ArrayTable.java
index ff4c18a5865..477a6545b29 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/ArrayTable.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/ArrayTable.java
@@ -51,7 +51,7 @@ class ArrayTable implements Cloneable {
     /**
      * Writes the passed in ArrayTable to the passed in ObjectOutputStream.
      * The data is saved as an integer indicating how many key/value
-     * pairs are being archived, followed by the the key/value pairs. If
+     * pairs are being archived, followed by the key/value pairs. If
      * <code>table</code> is null, 0 will be written to <code>s</code>.
      * <p>
      * This is a convenience method that ActionMap/InputMap and
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/Box.java b/jdk/src/java.desktop/share/classes/javax/swing/Box.java
index d332214a3c5..73588b3cda6 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/Box.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/Box.java
@@ -82,7 +82,7 @@ public class Box extends JComponent implements Accessible {
 
     /**
      * Creates a <code>Box</code> that displays its components
-     * along the the specified axis.
+     * along the specified axis.
      *
      * @param axis  can be {@link BoxLayout#X_AXIS},
      *              {@link BoxLayout#Y_AXIS},
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java b/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java
index 45b25845674..bf3b53cd515 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java
@@ -2397,7 +2397,7 @@ public class GroupLayout implements LayoutManager2 {
      * {@code CONSTANT_DESCENT}; otherwise the baseline is anchored to the top
      * of the group.
      * <p>
-     * Elements aligned to the baseline are resizable if they have have
+     * Elements aligned to the baseline are resizable if they have
      * a baseline resize behavior of {@code CONSTANT_ASCENT} or
      * {@code CONSTANT_DESCENT}. Elements with a baseline resize
      * behavior of {@code OTHER} or {@code CENTER_OFFSET} are not resizable.
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JComboBox.java b/jdk/src/java.desktop/share/classes/javax/swing/JComboBox.java
index 15e96468f4a..9d92d245575 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JComboBox.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JComboBox.java
@@ -1919,7 +1919,7 @@ implements ItemSelectable,ListDataListener,ActionListener, Accessible {
          * Perform the specified Action on the object
          *
          * @param i zero-based index of actions
-         * @return true if the the action was performed; else false.
+         * @return true if the action was performed; else false.
          */
         public boolean doAccessibleAction(int i) {
             if (i == 0) {
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java b/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java
index c5d230f01b3..9f9c30865b4 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java
@@ -1882,7 +1882,7 @@ public abstract class JComponent extends Container implements Serializable,
     }
 
     /**
-     * Sets the the horizontal alignment.
+     * Sets the horizontal alignment.
      *
      * @param alignmentY  the new horizontal alignment
      * @see #getAlignmentY
@@ -1911,7 +1911,7 @@ public abstract class JComponent extends Container implements Serializable,
     }
 
     /**
-     * Sets the the vertical alignment.
+     * Sets the vertical alignment.
      *
      * @param alignmentX  the new vertical alignment
      * @see #getAlignmentX
@@ -4799,7 +4799,7 @@ public abstract class JComponent extends Container implements Serializable,
     /**
      * Notifies this component that it no longer has a parent component.
      * When this method is invoked, any <code>KeyboardAction</code>s
-     * set up in the the chain of parent components are removed.
+     * set up in the chain of parent components are removed.
      * This method is called by the toolkit internally and should
      * not be called directly by programs.
      *
@@ -5575,7 +5575,7 @@ public abstract class JComponent extends Container implements Serializable,
      * the UI before any of the <code>JComponent</code>'s children
      * (or its <code>LayoutManager</code> etc.) are written,
      * and we don't want to restore the UI until the most derived
-     * <code>JComponent</code> subclass has been been stored.
+     * <code>JComponent</code> subclass has been stored.
      *
      * @param s the <code>ObjectOutputStream</code> in which to write
      */
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java b/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java
index 8319987ebdd..3cf186574ca 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java
@@ -716,7 +716,7 @@ public class JEditorPane extends JTextComponent {
      * like fetch the stream from a cache, monitor the progress
      * of the stream, etc.
      * <p>
-     * This method is expected to have the the side effect of
+     * This method is expected to have the side effect of
      * establishing the content type, and therefore setting the
      * appropriate <code>EditorKit</code> to use for loading the stream.
      * <p>
@@ -1826,7 +1826,7 @@ public class JEditorPane extends JTextComponent {
              * Perform the specified Action on the object
              *
              * @param i zero-based index of actions
-             * @return true if the the action was performed; else false.
+             * @return true if the action was performed; else false.
              * @see #getAccessibleActionCount
              */
             public boolean doAccessibleAction(int i) {
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JLayer.java b/jdk/src/java.desktop/share/classes/javax/swing/JLayer.java
index a4a2aaa5268..9c22489f5b6 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JLayer.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JLayer.java
@@ -131,7 +131,7 @@ import java.security.PrivilegedAction;
  * <li>{@link Container#add(java.awt.Component, Object)}</li>
  * <li>{@link Container#add(java.awt.Component, Object, int)}</li>
  * </ul>
- * using any of of them will cause {@code UnsupportedOperationException} to be thrown,
+ * using any of them will cause {@code UnsupportedOperationException} to be thrown,
  * to add a component to {@code JLayer}
  * use {@link #setView(Component)} or {@link #setGlassPane(JPanel)}.
  *
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JList.java b/jdk/src/java.desktop/share/classes/javax/swing/JList.java
index 808f9780c3f..1324b3dbd31 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JList.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JList.java
@@ -140,7 +140,7 @@ import static sun.swing.SwingUtilities2.Section.*;
  * <p>
  * The preferred way to listen for changes in list selection is to add
  * {@code ListSelectionListener}s directly to the {@code JList}. {@code JList}
- * then takes care of listening to the the selection model and notifying your
+ * then takes care of listening to the selection model and notifying your
  * listeners of change.
  * <p>
  * Responsibility for listening to selection changes in order to keep the list's
@@ -717,7 +717,7 @@ public class JList<E> extends JComponent implements Scrollable, Accessible
      * <p>
      * This is a JavaBeans bound property.
      *
-     * @param height the height to be used for for all cells in the list
+     * @param height the height to be used for all cells in the list
      * @see #setPrototypeCellValue
      * @see #setFixedCellWidth
      * @see JComponent#addPropertyChangeListener
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JMenuItem.java b/jdk/src/java.desktop/share/classes/javax/swing/JMenuItem.java
index f63dd709a3e..7af01881951 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JMenuItem.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JMenuItem.java
@@ -178,7 +178,7 @@ public class JMenuItem extends AbstractButton implements Accessible,MenuElement
     }
 
     /**
-     * Inititalizes the focusability of the the <code>JMenuItem</code>.
+     * Inititalizes the focusability of the <code>JMenuItem</code>.
      * <code>JMenuItem</code>'s are focusable, but subclasses may
      * want to be, this provides them the opportunity to override this
      * and invoke something else, or nothing at all. Refer to
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java b/jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java
index 5a3611131b8..4026cb84879 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java
@@ -330,7 +330,7 @@ public class JProgressBar extends JComponent implements SwingConstants, Accessib
     public JProgressBar(int orient, int min, int max)
     {
         // Creating the model this way is a bit simplistic, but
-        //  I believe that it is the the most common usage of this
+        //  I believe that it is the most common usage of this
         //  component - it's what people will expect.
         setModel(new DefaultBoundedRangeModel(min, 0, min, max));
         updateUI();
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JSpinner.java b/jdk/src/java.desktop/share/classes/javax/swing/JSpinner.java
index 2e51212ff3a..81ef955dee4 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JSpinner.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JSpinner.java
@@ -447,7 +447,7 @@ public class JSpinner extends JComponent implements Accessible
      * Sends a <code>ChangeEvent</code>, whose source is this
      * <code>JSpinner</code>, to each <code>ChangeListener</code>.
      * When a <code>ChangeListener</code> has been added
-     * to the spinner, this method method is called each time
+     * to the spinner, this method is called each time
      * a <code>ChangeEvent</code> is received from the model.
      *
      * @see #addChangeListener
@@ -1798,7 +1798,7 @@ public class JSpinner extends JComponent implements Accessible
                 Rectangle editorRect = at.getCharacterBounds(i);
                 if (editorRect != null &&
                     sameWindowAncestor(JSpinner.this, editor)) {
-                    // return rectangle in the the JSpinner bounds
+                    // return rectangle in the JSpinner bounds
                     return SwingUtilities.convertRectangle(editor,
                                                            editorRect,
                                                            JSpinner.this);
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JTree.java b/jdk/src/java.desktop/share/classes/javax/swing/JTree.java
index 6d50f6f653a..e6e4defe711 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JTree.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JTree.java
@@ -5575,7 +5575,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
              * object behind the TreeCellRenderer.
              *
              * @param i zero-based index of actions
-             * @return true if the the action was performed; else false.
+             * @return true if the action was performed; else false.
              */
             public boolean doAccessibleAction(int i) {
                 if (i < 0 || i >= getAccessibleActionCount()) {
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/OverlayLayout.java b/jdk/src/java.desktop/share/classes/javax/swing/OverlayLayout.java
index b62bb5faf17..4d3891ae19d 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/OverlayLayout.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/OverlayLayout.java
@@ -97,7 +97,7 @@ public class OverlayLayout implements LayoutManager2,Serializable {
      * this class to know when to invalidate layout.
      *
      * @param name the name of the component
-     * @param comp the the component to be added
+     * @param comp the component to be added
      */
     public void addLayoutComponent(String name, Component comp) {
         invalidateLayout(comp.getParent());
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/ScrollPaneLayout.java b/jdk/src/java.desktop/share/classes/javax/swing/ScrollPaneLayout.java
index 7903b85958b..1d499be1b6d 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/ScrollPaneLayout.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/ScrollPaneLayout.java
@@ -225,7 +225,7 @@ public class ScrollPaneLayout
      * </ul>
      *
      * @param s the component identifier
-     * @param c the the component to be added
+     * @param c the component to be added
      * @exception IllegalArgumentException if <code>s</code> is an invalid key
      */
     public void addLayoutComponent(String s, Component c)
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/SpinnerModel.java b/jdk/src/java.desktop/share/classes/javax/swing/SpinnerModel.java
index 57af106271f..6e4a4b9ed2a 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/SpinnerModel.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/SpinnerModel.java
@@ -53,7 +53,7 @@ import javax.swing.event.*;
  *   <dd>The preceding element or null if <code>value</code> is the
  *     first element of the sequence.
  * </dl>
- * When the the <code>value</code> property changes,
+ * When the <code>value</code> property changes,
  * <code>ChangeListeners</code> are notified.  <code>SpinnerModel</code> may
  * choose to notify the <code>ChangeListeners</code> under other circumstances.
  *
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/UIDefaults.java b/jdk/src/java.desktop/share/classes/javax/swing/UIDefaults.java
index 143995c91b8..82e4e2e5103 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/UIDefaults.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/UIDefaults.java
@@ -167,7 +167,7 @@ public class UIDefaults extends Hashtable<Object,Object>
     }
 
     /**
-     * Looks up up the given key in our Hashtable and resolves LazyValues
+     * Looks up the given key in our Hashtable and resolves LazyValues
      * or ActiveValues.
      */
     private Object getFromHashtable(Object key) {
@@ -1181,7 +1181,7 @@ public class UIDefaults extends Hashtable<Object,Object>
     /**
      * <code>LazyInputMap</code> will create a <code>InputMap</code>
      * in its <code>createValue</code>
-     * method. The bindings are passed in in the constructor.
+     * method. The bindings are passed in the constructor.
      * The bindings are an array with
      * the even number entries being string <code>KeyStrokes</code>
      * (eg "alt SPACE") and
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/ViewportLayout.java b/jdk/src/java.desktop/share/classes/javax/swing/ViewportLayout.java
index f2a01f0771b..7ed68ea48b9 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/ViewportLayout.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/ViewportLayout.java
@@ -66,7 +66,7 @@ public class ViewportLayout implements LayoutManager, Serializable
     /**
      * Adds the specified component to the layout. Not used by this class.
      * @param name the name of the component
-     * @param c the the component to be added
+     * @param c the component to be added
      */
     public void addLayoutComponent(String name, Component c) { }
 
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java
index 9e06857d4b3..26724c4b6e7 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java
@@ -1141,7 +1141,7 @@ public class BasicComboPopup extends JPopupMenu implements ComboPopup {
 
 
     /**
-     * This is is a utility method that helps event handlers figure out where to
+     * This is a utility method that helps event handlers figure out where to
      * send the focus when the popup is brought up.  The standard implementation
      * delegates the focus to the editor (if the combo box is editable) or to
      * the JComboBox if it is not editable.
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSliderUI.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSliderUI.java
index 433cb16b687..1d1b57c5e8f 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSliderUI.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSliderUI.java
@@ -1449,7 +1449,7 @@ public class BasicSliderUI extends SliderUI{
 
     /**
      * Returns the value at the y position. If {@code yPos} is beyond the
-     * track at the the bottom or the top, this method sets the value to either
+     * track at the bottom or the top, this method sets the value to either
      * the minimum or maximum value of the slider, depending on if the slider
      * is inverted or not.
      *
@@ -1927,7 +1927,7 @@ public class BasicSliderUI extends SliderUI{
      * The recommended approach to creating bindings is to use a
      * combination of an <code>ActionMap</code>, to contain the action,
      * and an <code>InputMap</code> to contain the mapping from KeyStroke
-     * to action description. The InputMap is is usually described in the
+     * to action description. The InputMap is usually described in the
      * LookAndFeel tables.
      * <p>
      * Please refer to the key bindings specification for further details.
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTableUI.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTableUI.java
index bff514b57ff..f88d8a5cd21 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTableUI.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTableUI.java
@@ -344,7 +344,7 @@ public class BasicTableUI extends TableUI
             }
 
             // In cases where the lead is not within the search range,
-            // we need to bring it within one cell for the the search
+            // we need to bring it within one cell for the search
             // to work properly. Check these here.
             leadRow = Math.min(Math.max(leadRow, minY - 1), maxY + 1);
             leadColumn = Math.min(Math.max(leadColumn, minX - 1), maxX + 1);
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java
index 961400948c3..04fd8e986d8 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java
@@ -137,7 +137,7 @@ public abstract class BasicTextUI extends TextUI implements ViewFactory {
     /**
      * Fetches the name of the keymap that will be installed/used
      * by default for this UI. This is implemented to create a
-     * name based upon the classname.  The name is the the name
+     * name based upon the classname.  The name is the name
      * of the class with the package prefix removed.
      *
      * @return the name
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java b/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java
index 8464dd25e49..bf66cee2bcb 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java
@@ -245,7 +245,7 @@ public class SynthGraphicsUtils {
     }
 
     /**
-     * Returns the maximum height of the the Font from the passed in
+     * Returns the maximum height of the Font from the passed in
      * SynthContext.
      *
      * @param context SynthContext used to determine font.
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java b/jdk/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java
index 5e923b1356d..1c2e8fa3a5f 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java
@@ -242,7 +242,7 @@ public class JTableHeader extends JComponent implements TableColumnModelListener
     }
 
     /**
-     * Returns the the dragged column, if and only if, a drag is in
+     * Returns the dragged column, if and only if, a drag is in
      * process, otherwise returns <code>null</code>.
      *
      * @return  the dragged column, if a drag is in
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/table/TableColumn.java b/jdk/src/java.desktop/share/classes/javax/swing/table/TableColumn.java
index 1f116c47832..a2d8f1eac20 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/table/TableColumn.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/table/TableColumn.java
@@ -127,7 +127,7 @@ public class TableColumn extends Object implements Serializable {
     /**
      *  This object is not used internally by the drawing machinery of
      *  the <code>JTable</code>; identifiers may be set in the
-     *  <code>TableColumn</code> as as an
+     *  <code>TableColumn</code> as an
      *  optional way to tag and locate table columns. The table package does
      *  not modify or invoke any methods in these identifier objects other
      *  than the <code>equals</code> method which is used in the
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/BoxView.java b/jdk/src/java.desktop/share/classes/javax/swing/text/BoxView.java
index ba43516eac0..570082b1fb4 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/BoxView.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/BoxView.java
@@ -1128,7 +1128,7 @@ public class BoxView extends CompositeView {
      * indicating the <code>View</code>s are layed out in ascending order.
      * <p>
      * If the receiver is laying its <code>View</code>s along the
-     * <code>Y_AXIS</code>, this will will return the value from
+     * <code>Y_AXIS</code>, this will return the value from
      * invoking the same method on the <code>View</code>
      * responsible for rendering <code>position</code> and
      * <code>bias</code>. Otherwise this will return false.
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java b/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
index 09faa5671cb..ff2e275400b 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
@@ -409,7 +409,7 @@ public class DefaultStyledDocument extends AbstractDocument implements StyledDoc
 
 
     /**
-     * Fetches the list of of style names.
+     * Fetches the list of style names.
      *
      * @return all the style names
      */
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/ElementIterator.java b/jdk/src/java.desktop/share/classes/javax/swing/text/ElementIterator.java
index ae6b99ab0d7..3c1f58fcfa8 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/ElementIterator.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/ElementIterator.java
@@ -79,7 +79,7 @@ public class ElementIterator implements Cloneable {
      * as well as a child index.  If the
      * index is -1, then the element represented
      * on the stack is the element itself.
-     * Otherwise, the index functions as as index
+     * Otherwise, the index functions as an index
      * into the vector of children of the element.
      * In this case, the item on the stack
      * represents the "index"th child of the element
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/ParagraphView.java b/jdk/src/java.desktop/share/classes/javax/swing/text/ParagraphView.java
index 01818e9a289..efc462bcfdb 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/ParagraphView.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/ParagraphView.java
@@ -403,7 +403,7 @@ public class ParagraphView extends FlowView implements TabExpander {
      * This is implemented to try and locate a <code>TabSet</code>
      * in the paragraph element's attribute set.  If one can be
      * found, its settings will be used, otherwise a default expansion
-     * will be provided.  The base location for for tab expansion
+     * will be provided.  The base location for tab expansion
      * is the left inset from the paragraphs most recent allocation
      * (which is what the layout of the children is based upon).
      *
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/PlainView.java b/jdk/src/java.desktop/share/classes/javax/swing/text/PlainView.java
index 3d91d86e42a..5ae7eaccf0c 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/PlainView.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/PlainView.java
@@ -385,11 +385,11 @@ public class PlainView extends View implements TabExpander {
         int x = (int) fx;
         int y = (int) fy;
         if (y < alloc.y) {
-            // above the area covered by this icon, so the the position
+            // above the area covered by this icon, so the position
             // is assumed to be the start of the coverage for this view.
             return getStartOffset();
         } else if (y > alloc.y + alloc.height) {
-            // below the area covered by this icon, so the the position
+            // below the area covered by this icon, so the position
             // is assumed to be the end of the coverage for this view.
             return getEndOffset() - 1;
         } else {
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java b/jdk/src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java
index c9b7a788f25..52e675ca29e 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java
@@ -668,11 +668,11 @@ public class WrappedPlainView extends BoxView implements TabExpander {
             int x = (int) fx;
             int y = (int) fy;
             if (y < alloc.y) {
-                // above the area covered by this icon, so the the position
+                // above the area covered by this icon, so the position
                 // is assumed to be the start of the coverage for this view.
                 return getStartOffset();
             } else if (y > alloc.y + alloc.height) {
-                // below the area covered by this icon, so the the position
+                // below the area covered by this icon, so the position
                 // is assumed to be the end of the coverage for this view.
                 return getEndOffset() - 1;
             } else {
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/html/CSS.java b/jdk/src/java.desktop/share/classes/javax/swing/text/html/CSS.java
index cdd28963be1..46fce89a2d1 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/CSS.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/CSS.java
@@ -1588,7 +1588,7 @@ public class CSS implements Serializable {
 
                 /*
                  * HTML.Attribute.ALIGN needs special processing.
-                 * It can map to to 1 of many(3) possible CSS attributes
+                 * It can map to 1 of many(3) possible CSS attributes
                  * depending on the nature of the tag the attribute is
                  * part off and depending on the value of the attribute.
                  */
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/html/FormView.java b/jdk/src/java.desktop/share/classes/javax/swing/text/html/FormView.java
index b6de2950d4b..216ecf91125 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/FormView.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/FormView.java
@@ -37,7 +37,7 @@ import javax.swing.text.*;
  * Component decorator that implements the view interface
  * for form elements, &lt;input&gt;, &lt;textarea&gt;,
  * and &lt;select&gt;.  The model for the component is stored
- * as an attribute of the the element (using StyleConstants.ModelAttribute),
+ * as an attribute of the element (using StyleConstants.ModelAttribute),
  * and is used to build the component of the view.  The type
  * of the model is assumed to of the type that would be set by
  * <code>HTMLDocument.HTMLReader.FormAction</code>.  If there are
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java b/jdk/src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java
index a981e87f304..ec3fe0f5c15 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java
@@ -1345,7 +1345,7 @@ public class HTMLDocument extends DefaultStyledDocument {
     }
 
     /**
-     * Inserts the HTML specified as a string after the the end of the
+     * Inserts the HTML specified as a string after the end of the
      * given element.
      *
      * <p>Consider the following structure (the <code>elem</code>
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/html/IsindexView.java b/jdk/src/java.desktop/share/classes/javax/swing/text/html/IsindexView.java
index 047476fb9bb..0182ae4de24 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/IsindexView.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/IsindexView.java
@@ -53,7 +53,7 @@ class IsindexView extends ComponentView implements ActionListener {
     }
 
     /**
-     * Creates the components necessary to to implement
+     * Creates the components necessary to implement
      * this view.  The component returned is a <code>JPanel</code>,
      * that contains the PROMPT to the left and <code>JTextField</code>
      * to the right.
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/html/LineView.java b/jdk/src/java.desktop/share/classes/javax/swing/text/html/LineView.java
index b778d25f3d7..b16fb6e4c08 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/LineView.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/LineView.java
@@ -136,7 +136,7 @@ class LineView extends ParagraphView {
      * This is implemented to try and locate a <code>TabSet</code>
      * in the paragraph element's attribute set.  If one can be
      * found, its settings will be used, otherwise a default expansion
-     * will be provided.  The base location for for tab expansion
+     * will be provided.  The base location for tab expansion
      * is the left inset from the paragraphs most recent allocation
      * (which is what the layout of the children is based upon).
      *
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/DTDConstants.java b/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/DTDConstants.java
index 88980b42f91..058a2ba13c8 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/DTDConstants.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/DTDConstants.java
@@ -27,7 +27,7 @@ package javax.swing.text.html.parser;
 
 /**
  * SGML constants used in a DTD. The names of the
- * constants correspond the the equivalent SGML constructs
+ * constants correspond to the equivalent SGML constructs
  * as described in "The SGML Handbook" by  Charles F. Goldfarb.
  *
  * @see DTD
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Entity.java b/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Entity.java
index db1cea291e0..b4fdc7ff481 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Entity.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Entity.java
@@ -35,7 +35,7 @@ import java.net.URL;
 
 /**
  * An entity is described in a DTD using the ENTITY construct.
- * It defines the type and value of the the entity.
+ * It defines the type and value of the entity.
  *
  * @see DTD
  * @author Arthur van Hoff
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java b/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java
index 66685c0d965..5379d632230 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java
@@ -1846,7 +1846,7 @@ class Parser implements DTDConstants {
 
             if (unknown) {
                 // we will not see a corresponding start tag
-                // on the the stack.  If we are seeing an
+                // on the stack.  If we are seeing an
                 // end tag, lets send this on as an empty
                 // tag with the end tag attribute set to
                 // true.
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/undo/UndoManager.java b/jdk/src/java.desktop/share/classes/javax/swing/undo/UndoManager.java
index 8f141e1d932..782dd3b3356 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/undo/UndoManager.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/undo/UndoManager.java
@@ -283,7 +283,7 @@ public class UndoManager extends CompoundEdit implements UndoableEditListener {
 
 
     /**
-     * Returns the the next significant edit to be undone if <code>undo</code>
+     * Returns the next significant edit to be undone if <code>undo</code>
      * is invoked. This returns <code>null</code> if there are no edits
      * to be undone.
      *
@@ -302,7 +302,7 @@ public class UndoManager extends CompoundEdit implements UndoableEditListener {
     }
 
     /**
-     * Returns the the next significant edit to be redone if <code>redo</code>
+     * Returns the next significant edit to be redone if <code>redo</code>
      * is invoked. This returns <code>null</code> if there are no edits
      * to be redone.
      *
diff --git a/jdk/src/java.desktop/share/classes/sun/font/BidiUtils.java b/jdk/src/java.desktop/share/classes/sun/font/BidiUtils.java
index 41d6acd02b9..45dcf92aef5 100644
--- a/jdk/src/java.desktop/share/classes/sun/font/BidiUtils.java
+++ b/jdk/src/java.desktop/share/classes/sun/font/BidiUtils.java
@@ -47,7 +47,7 @@ public final class BidiUtils {
      * array instead of iterating over the runs.
      *
      * @param levels the array to receive the character levels
-     * @param start the starting offset into the the array
+     * @param start the starting offset into the array
      * @throws IndexOutOfBoundsException if <code>start</code> is less than 0 or
      * <code>start + getLength()</code> is greater than <code>levels.length</code>.
      */
diff --git a/jdk/src/java.desktop/share/classes/sun/font/Decoration.java b/jdk/src/java.desktop/share/classes/sun/font/Decoration.java
index cf3f25bfcfa..36adaa8f2e4 100644
--- a/jdk/src/java.desktop/share/classes/sun/font/Decoration.java
+++ b/jdk/src/java.desktop/share/classes/sun/font/Decoration.java
@@ -105,7 +105,7 @@ public class Decoration {
     }
 
     /**
-     * Return a Decoration appropriate for the the given Map.
+     * Return a Decoration appropriate for the given Map.
      * @param attributes the Map used to determine the Decoration
      */
     public static Decoration getDecoration(Map<? extends Attribute, ?> attributes) {
diff --git a/jdk/src/java.desktop/share/classes/sun/font/FileFontStrike.java b/jdk/src/java.desktop/share/classes/sun/font/FileFontStrike.java
index 06654b3d312..7fb9f65c7ab 100644
--- a/jdk/src/java.desktop/share/classes/sun/font/FileFontStrike.java
+++ b/jdk/src/java.desktop/share/classes/sun/font/FileFontStrike.java
@@ -898,7 +898,7 @@ public class FileFontStrike extends PhysicalStrike {
 
     /* The caller of this can be trusted to return a copy of this
      * return value rectangle to public API. In fact frequently it
-     * can't use use this return value directly anyway.
+     * can't use this return value directly anyway.
      * This returns bounds in device space. Currently the only
      * caller is SGV and it converts back to user space.
      * We could change things so that this code does the conversion so
diff --git a/jdk/src/java.desktop/share/classes/sun/font/FontUtilities.java b/jdk/src/java.desktop/share/classes/sun/font/FontUtilities.java
index 11731fd4339..377433617ac 100644
--- a/jdk/src/java.desktop/share/classes/sun/font/FontUtilities.java
+++ b/jdk/src/java.desktop/share/classes/sun/font/FontUtilities.java
@@ -214,7 +214,7 @@ public final class FontUtilities {
      * char which means it may include undecoded surrogate pairs.
      * The distinction is made so that code which needs to identify all
      * cases in which we do not have a simple mapping from
-     * char->unicode character->glyph can be be identified.
+     * char->unicode character->glyph can be identified.
      * For example measurement cannot simply sum advances of 'chars',
      * the caret in editable text cannot advance one 'char' at a time, etc.
      * These callers really are asking for more than whether 'layout'
diff --git a/jdk/src/java.desktop/share/classes/sun/font/SunFontManager.java b/jdk/src/java.desktop/share/classes/sun/font/SunFontManager.java
index f92eba8fbaa..274ec690ef9 100644
--- a/jdk/src/java.desktop/share/classes/sun/font/SunFontManager.java
+++ b/jdk/src/java.desktop/share/classes/sun/font/SunFontManager.java
@@ -575,7 +575,7 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
      * that claims to support the Microsoft Windows encoding corresponding to
      * the default file.encoding property of this JRE instance.
      * This narrow value is useful for Swing to decide if the font is useful
-     * for the the Windows Look and Feel, or, if a  composite font should be
+     * for the Windows Look and Feel, or, if a composite font should be
      * used instead.
      * The information used to make the decision is obtained from
      * the ulCodePageRange fields in the font.
@@ -1611,7 +1611,7 @@ public abstract class SunFontManager implements FontSupport, FontManagerForSGE {
      * all non-null file names first.
      * They are added in to a map with nominally the first
      * word in the name of the family as the key. In all the cases
-     * we are using the the family name is a single word, and as is
+     * we are using the family name is a single word, and as is
      * more or less required the family name is the initial sequence
      * in a full name. So lookup first finds the matching description,
      * then registers the whole family, returning the right font.
diff --git a/jdk/src/java.desktop/share/classes/sun/font/SunLayoutEngine.java b/jdk/src/java.desktop/share/classes/sun/font/SunLayoutEngine.java
index 0927d246625..47f0022a443 100644
--- a/jdk/src/java.desktop/share/classes/sun/font/SunLayoutEngine.java
+++ b/jdk/src/java.desktop/share/classes/sun/font/SunLayoutEngine.java
@@ -72,7 +72,7 @@ import java.util.Locale;
  * font tables (the selector indicates which).  Then layout is called,
  * the contents are copied (or not), and the stack is destroyed on
  * exit. So the association is between the font/script (layout engine
- * desc) and and one of a few permanent engine objects, which are
+ * desc) and one of a few permanent engine objects, which are
  * handed the key when they need to process something.  In the native
  * case, the engine holds an index, and just passes it together with
  * the key info down to native.  Some default cases are the 'default
diff --git a/jdk/src/java.desktop/share/classes/sun/font/TrueTypeFont.java b/jdk/src/java.desktop/share/classes/sun/font/TrueTypeFont.java
index e2a88df6e86..047a9309095 100644
--- a/jdk/src/java.desktop/share/classes/sun/font/TrueTypeFont.java
+++ b/jdk/src/java.desktop/share/classes/sun/font/TrueTypeFont.java
@@ -154,7 +154,7 @@ public class TrueTypeFont extends FileFont {
     /* number of table entries in the directory/offsets table */
     int numTables;
 
-    /* The contents of the the directory/offsets table */
+    /* The contents of the directory/offsets table */
     DirectoryEntry []tableDirectory;
 
 //     protected byte []gposTable = null;
@@ -228,7 +228,7 @@ public class TrueTypeFont extends FileFont {
             return false; /* useNatives is false */
         } else if (nativeNames instanceof String) {
             String name = (String)nativeNames;
-            /* Don't do do this for Latin fonts */
+            /* Don't do this for Latin fonts */
             if (name.indexOf("8859") > 0) {
                 checkedNatives = true;
                 return false;
diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/loops/ProcessPath.java b/jdk/src/java.desktop/share/classes/sun/java2d/loops/ProcessPath.java
index 4ee5abb85c3..3ed651e5089 100644
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/ProcessPath.java
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/ProcessPath.java
@@ -1418,7 +1418,7 @@ public class ProcessPath {
                                               */
                                  );
         } else {
-            /* Clamping starting from first vertex of the the processed
+            /* Clamping starting from first vertex of the processed
              * segment
              *
              * CLIPCLAMP(xMin, xMax, x1, y1, x2, y2, x3, y3, res);
@@ -1438,7 +1438,7 @@ public class ProcessPath {
                 return;
             }
 
-            /* Clamping starting from last vertex of the the processed
+            /* Clamping starting from last vertex of the processed
              * segment
              *
              * CLIPCLAMP(xMin, xMax, x2, y2, x1, y1, x3, y3, res);
@@ -2062,7 +2062,7 @@ public class ProcessPath {
                 if (res == CRES_INVISIBLE) return;
                 lastClipped = IS_CLIPPED(res);
 
-                /* Clamping starting from first vertex of the the processed
+                /* Clamping starting from first vertex of the processed
                  * segment
                  *
                  * CLIPCLAMP(outXMin, outXMax, x1, y1, x2, y2, x3, y3, res);
@@ -2078,7 +2078,7 @@ public class ProcessPath {
                     return;
                 }
 
-                /* Clamping starting from last vertex of the the processed
+                /* Clamping starting from last vertex of the processed
                  * segment
                  *
                  * CLIPCLAMP(outXMin, outXMax, x2, y2, x1, y1, x3, y3, res);
diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java
index 4513c670900..85301c27bdd 100644
--- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java
@@ -451,7 +451,7 @@ public abstract class BufferedContext {
     public abstract RenderQueue getRenderQueue();
 
     /**
-     * Saves the the state of this context.
+     * Saves the state of this context.
      * It may reset the current context.
      *
      * Note: must be called while the RenderQueue lock is held.
diff --git a/jdk/src/java.desktop/share/classes/sun/print/PathGraphics.java b/jdk/src/java.desktop/share/classes/sun/print/PathGraphics.java
index c7aa913acf0..467ed39fe9d 100644
--- a/jdk/src/java.desktop/share/classes/sun/print/PathGraphics.java
+++ b/jdk/src/java.desktop/share/classes/sun/print/PathGraphics.java
@@ -888,7 +888,7 @@ public abstract class PathGraphics extends ProxyGraphics2D {
              * since it doesn't actually require "layout" (even though its
              * considered a layout attribute), it just requires a fractional
              * tweak to the[default]advances. So we need to specifically
-             * check for tracking until such time as as we can trust
+             * check for tracking until such time as we can trust
              * the GlyphVector.FLAG_HAS_POSITION_ADJUSTMENTS bit.
              */
             Map<TextAttribute, ?> map = font.getAttributes();
diff --git a/jdk/src/java.desktop/share/classes/sun/print/PeekGraphics.java b/jdk/src/java.desktop/share/classes/sun/print/PeekGraphics.java
index 32d882e2efa..dd6e0e7472c 100644
--- a/jdk/src/java.desktop/share/classes/sun/print/PeekGraphics.java
+++ b/jdk/src/java.desktop/share/classes/sun/print/PeekGraphics.java
@@ -871,7 +871,7 @@ public class PeekGraphics extends Graphics2D
      * paint or color, and composite attributes.
      * For characters in script systems such as Hebrew and Arabic,
      * the glyphs may be draw from right to left, in which case the
-     * coordinate supplied is the the location of the leftmost character
+     * coordinate supplied is the location of the leftmost character
      * on the baseline.
      * @param iterator the iterator whose text is to be drawn
      * @param x,y the coordinates where the iterator's text should be drawn.
@@ -897,7 +897,7 @@ public class PeekGraphics extends Graphics2D
      * paint or color, and composite attributes.
      * For characters in script systems such as Hebrew and Arabic,
      * the glyphs may be draw from right to left, in which case the
-     * coordinate supplied is the the location of the leftmost character
+     * coordinate supplied is the location of the leftmost character
      * on the baseline.
      * @param iterator the iterator whose text is to be drawn
      * @param x,y the coordinates where the iterator's text should be drawn.
diff --git a/jdk/src/java.desktop/share/classes/sun/print/PrintJob2D.java b/jdk/src/java.desktop/share/classes/sun/print/PrintJob2D.java
index 22f21fc34cd..23e4ed4d64d 100644
--- a/jdk/src/java.desktop/share/classes/sun/print/PrintJob2D.java
+++ b/jdk/src/java.desktop/share/classes/sun/print/PrintJob2D.java
@@ -837,7 +837,7 @@ public class PrintJob2D extends PrintJob implements Printable, Runnable {
      * The resolution of the page is chosen so that it
      * is similar to the screen resolution.
      * Except (since 1.3) when the application specifies a resolution.
-     * In that case it it scaled accordingly.
+     * In that case it is scaled accordingly.
      */
     public Dimension getPageDimension() {
         double wid, hgt, scale;
diff --git a/jdk/src/java.desktop/share/classes/sun/print/ProxyGraphics2D.java b/jdk/src/java.desktop/share/classes/sun/print/ProxyGraphics2D.java
index 5a4b3845a13..6187e639b69 100644
--- a/jdk/src/java.desktop/share/classes/sun/print/ProxyGraphics2D.java
+++ b/jdk/src/java.desktop/share/classes/sun/print/ProxyGraphics2D.java
@@ -744,7 +744,7 @@ public class ProxyGraphics2D extends Graphics2D implements PrinterGraphics {
      * paint or color, and composite attributes.
      * For characters in script systems such as Hebrew and Arabic,
      * the glyphs may be draw from right to left, in which case the
-     * coordinate supplied is the the location of the leftmost character
+     * coordinate supplied is the location of the leftmost character
      * on the baseline.
      * @param iterator the iterator whose text is to be drawn
      * @param x,y the coordinates where the iterator's text should be drawn.
@@ -769,7 +769,7 @@ public class ProxyGraphics2D extends Graphics2D implements PrinterGraphics {
      * paint or color, and composite attributes.
      * For characters in script systems such as Hebrew and Arabic,
      * the glyphs may be draw from right to left, in which case the
-     * coordinate supplied is the the location of the leftmost character
+     * coordinate supplied is the location of the leftmost character
      * on the baseline.
      * @param iterator the iterator whose text is to be drawn
      * @param x,y the coordinates where the iterator's text should be drawn.
diff --git a/jdk/src/java.desktop/share/classes/sun/swing/AccumulativeRunnable.java b/jdk/src/java.desktop/share/classes/sun/swing/AccumulativeRunnable.java
index ac57e6d2115..8dd6e5eeede 100644
--- a/jdk/src/java.desktop/share/classes/sun/swing/AccumulativeRunnable.java
+++ b/jdk/src/java.desktop/share/classes/sun/swing/AccumulativeRunnable.java
@@ -64,7 +64,7 @@ import javax.swing.SwingUtilities;
  * </pre>
  *
  * <p>
- * Say we want want to implement addDirtyRegion(Rectangle rect)
+ * Say we want to implement addDirtyRegion(Rectangle rect)
  * which sends this region to the
  * handleDirtyRegions(List<Rect> regiouns) on the EDT.
  * addDirtyRegions better be accumulated before handling on the EDT.
diff --git a/jdk/src/java.desktop/share/classes/sun/swing/CachedPainter.java b/jdk/src/java.desktop/share/classes/sun/swing/CachedPainter.java
index defc35f2543..dedee99cc27 100644
--- a/jdk/src/java.desktop/share/classes/sun/swing/CachedPainter.java
+++ b/jdk/src/java.desktop/share/classes/sun/swing/CachedPainter.java
@@ -79,7 +79,7 @@ public abstract class CachedPainter {
     }
 
     /**
-     * Renders the cached image to the the passed in <code>Graphic</code>.
+     * Renders the cached image to the passed in <code>Graphic</code>.
      * If there is no cached image <code>paintToImage</code> will be invoked.
      * <code>paintImage</code> is invoked to paint the cached image.
      *
diff --git a/jdk/src/java.desktop/share/native/common/font/fontscalerdefs.h b/jdk/src/java.desktop/share/native/common/font/fontscalerdefs.h
index 5ffabbbe6e4..2a53cd13c18 100644
--- a/jdk/src/java.desktop/share/native/common/font/fontscalerdefs.h
+++ b/jdk/src/java.desktop/share/native/common/font/fontscalerdefs.h
@@ -87,7 +87,7 @@ typedef float t2kScalar;
 #define t2kScalarAverage(a, b) (((a) + (b)) / (t2kScalar)(2))
 
   /* managed: 1 means the glyph has a hardware cached
-   * copy, and its freeing is managed by the the usual
+   * copy, and its freeing is managed by the usual
    * 2D disposer code.
    * A value of 0 means its either unaccelerated (and so has no cellInfos)
    * or we want to free this in a different way.
diff --git a/jdk/src/java.desktop/share/native/libawt/awt/image/gif/gifdecoder.c b/jdk/src/java.desktop/share/native/libawt/awt/image/gif/gifdecoder.c
index e93feb6c8e9..b62c02777ce 100644
--- a/jdk/src/java.desktop/share/native/libawt/awt/image/gif/gifdecoder.c
+++ b/jdk/src/java.desktop/share/native/libawt/awt/image/gif/gifdecoder.c
@@ -399,7 +399,7 @@ Java_sun_awt_image_GifImageDecoder_parseImage(JNIEnv *env,
          * and therefore we have to continue looping through data
          * but skip internal output loop.
          *
-         * In particular this is is possible when
+         * In particular this is possible when
          * width of the frame is set to zero. If
          * global width (i.e. width of the logical screen)
          * is zero too then zero-length scanline buffer
diff --git a/jdk/src/java.desktop/share/native/libawt/java2d/loops/ProcessPath.c b/jdk/src/java.desktop/share/native/libawt/java2d/loops/ProcessPath.c
index 07eb3468926..4ba85035bb2 100644
--- a/jdk/src/java.desktop/share/native/libawt/java2d/loops/ProcessPath.c
+++ b/jdk/src/java.desktop/share/native/libawt/java2d/loops/ProcessPath.c
@@ -1418,7 +1418,7 @@ static void ProcessLine(ProcessHandler* hnd,
                                             */
                                );
     } else {
-        /* Clamping starting from first vertex of the the processed segment
+        /* Clamping starting from first vertex of the processed segment
          */
         CLIPCLAMP(xMin, xMax, x1, y1, x2, y2, x3, y3, jfloat, res);
         X1 = (jint)(x1*MDP_MULT);
@@ -1435,7 +1435,7 @@ static void ProcessLine(ProcessHandler* hnd,
             return;
         }
 
-        /* Clamping starting from last vertex of the the processed segment
+        /* Clamping starting from last vertex of the processed segment
          */
         CLIPCLAMP(xMin, xMax, x2, y2, x1, y1, x3, y3, jfloat, res);
 
@@ -2121,7 +2121,7 @@ void  StoreFixedLine(ProcessHandler* hnd,jint x1,jint y1,jint x2,jint y2,
         if (res == CRES_INVISIBLE) return;
         lastClipped = IS_CLIPPED(res);
 
-        /* Clamping starting from first vertex of the the processed segment */
+        /* Clamping starting from first vertex of the processed segment */
         CLIPCLAMP(outXMin, outXMax, x1, y1, x2, y2, x3, y3, jint, res);
 
         /* Clamping only by left boundary */
@@ -2133,7 +2133,7 @@ void  StoreFixedLine(ProcessHandler* hnd,jint x1,jint y1,jint x2,jint y2,
             return;
         }
 
-        /* Clamping starting from last vertex of the the processed segment */
+        /* Clamping starting from last vertex of the processed segment */
         CLIPCLAMP(outXMin, outXMax, x2, y2, x1, y1, x3, y3, jint, res);
 
         /* Checking if there was a clip by right boundary */
diff --git a/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c b/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c
index af5b76e5381..8586984ee02 100644
--- a/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c
+++ b/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c
@@ -183,7 +183,7 @@ static unsigned long ReadTTFontFileFunc(FT_Stream stream,
                                           bBuffer, offset, numBytes);
             return bread;
         } else {
-            /* We probably hit bug bug 4845371. For reasons that
+            /* We probably hit bug 4845371. For reasons that
              * are currently unclear, the call stacks after the initial
              * createScaler call that read large amounts of data seem to
              * be OK and can create the byte buffer above, but this code
@@ -253,7 +253,7 @@ Java_sun_font_FreetypeFontScaler_initNativeScaler(
        We can consider sharing freetype library between different
        scalers. However, Freetype docs suggest to use different libraries
        for different threads. Also, our architecture implies that single
-       FontScaler object is shared for for different sizes/transforms/styles
+       FontScaler object is shared for different sizes/transforms/styles
        of the same font.
 
        On other hand these methods can not be concurrently executed
diff --git a/jdk/src/java.desktop/share/native/libfontmanager/layout/LayoutEngine.h b/jdk/src/java.desktop/share/native/libfontmanager/layout/LayoutEngine.h
index 0d4e1c7f504..9a04832c18b 100644
--- a/jdk/src/java.desktop/share/native/libfontmanager/layout/LayoutEngine.h
+++ b/jdk/src/java.desktop/share/native/libfontmanager/layout/LayoutEngine.h
@@ -297,7 +297,7 @@ protected:
      * This method does character to glyph mapping. The default implementation
      * uses the font instance to do the mapping. It will allocate the glyph and
      * character index arrays if they're not already allocated. If it allocates the
-     * character index array, it will fill it it.
+     * character index array, it will fill it.
      *
      * This method supports right to left
      * text with the ability to store the glyphs in reverse order, and by supporting
@@ -537,4 +537,3 @@ public:
 
 U_NAMESPACE_END
 #endif
-
diff --git a/jdk/src/java.desktop/share/native/liblcms/LCMS.c b/jdk/src/java.desktop/share/native/liblcms/LCMS.c
index 0939b00a761..4391c4b8ef1 100644
--- a/jdk/src/java.desktop/share/native/liblcms/LCMS.c
+++ b/jdk/src/java.desktop/share/native/liblcms/LCMS.c
@@ -879,7 +879,7 @@ static cmsHPROFILE _writeCookedTag(const cmsHPROFILE pfTarget,
         cmsCloseProfile(p);
         p =  NULL;
     } else {
-        // do final check whether we can read and handle the the target tag.
+        // do final check whether we can read and handle the target tag.
         const void* pTag = cmsReadTag(pfSanity, sig);
         if (pTag == NULL) {
             // the tag can not be cooked
diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/ListHelper.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/ListHelper.java
index 5ed8161ed84..bc17cd27ef1 100644
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/ListHelper.java
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/ListHelper.java
@@ -48,7 +48,7 @@ final class ListHelper implements XScrollbarClient {
     private final int BORDER_WIDTH; // Width of border drawn around the list
                                     // of items
     private final int ITEM_MARGIN;  // Margin between the border of the list
-                                    // of items and and item's bg, and between
+                                    // of items and item's bg, and between
                                     // items
     private final int TEXT_SPACE;   // Space between the edge of an item and
                                     // the text
diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbeddedFramePeer.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbeddedFramePeer.java
index e9b365b1c2a..72f0bc658b5 100644
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbeddedFramePeer.java
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbeddedFramePeer.java
@@ -251,7 +251,7 @@ public class XEmbeddedFramePeer extends XFramePeer {
                 embedder.registerAccelerator(iter.next(), i++);
             }
         }
-        // Now we know that the the embedder is an XEmbed server, so we
+        // Now we know that the embedder is an XEmbed server, so we
         // reregister the drop target to enable XDnD protocol support via
         // XEmbed.
         updateDropTarget();
diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollPanePeer.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollPanePeer.java
index c20597402b9..af573a469fa 100644
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollPanePeer.java
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollPanePeer.java
@@ -202,7 +202,7 @@ class XScrollPanePeer extends XComponentPeer implements ScrollPanePeer, XScrollb
 
         // Check to see if we hid either of the scrollbars but left
         // ourselves scrolled off of the top and/or right of the pane.
-        // If we did, we need to scroll to the top and/or right of of
+        // If we did, we need to scroll to the top and/or right of
         // the pane to make it visible.
         //
         // Reminder: see if there is a better place to put this code.
diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XTextFieldPeer.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XTextFieldPeer.java
index aeee2a022a4..dd7eddc610c 100644
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XTextFieldPeer.java
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XTextFieldPeer.java
@@ -287,7 +287,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
     }
 
     /**
-     * Deselects the the highlighted text.
+     * Deselects the highlighted text.
      */
     public void deselect() {
         int selStart=xtext.getSelectionStart();
diff --git a/jdk/src/java.desktop/unix/classes/sun/font/NativeFont.java b/jdk/src/java.desktop/unix/classes/sun/font/NativeFont.java
index bc39f743a91..ca225f6df5a 100644
--- a/jdk/src/java.desktop/unix/classes/sun/font/NativeFont.java
+++ b/jdk/src/java.desktop/unix/classes/sun/font/NativeFont.java
@@ -369,7 +369,7 @@ public class NativeFont extends PhysicalFont {
          */
 //      sb.replace(hPos[6]+1, hPos[7], "0");
 
-        /* comment out this block to the the 1.4.2 behaviour */
+        /* comment out this block to the 1.4.2 behaviour */
         if (hPos[0] == 0 && hPos[1] == 1) {
             /* null foundry name : some linux font configuration files have
              * symbol font entries like this and its just plain wrong.
diff --git a/jdk/src/java.desktop/unix/native/common/awt/awt_Font.c b/jdk/src/java.desktop/unix/native/common/awt/awt_Font.c
index 016048ec4e8..2a1ad748d8b 100644
--- a/jdk/src/java.desktop/unix/native/common/awt/awt_Font.c
+++ b/jdk/src/java.desktop/unix/native/common/awt/awt_Font.c
@@ -722,7 +722,7 @@ static void pDataDisposeMethod(JNIEnv *env, jlong pData)
     }
 
     /* AWT fonts are always "multifonts" and probably have been in
-     * all post 1.0 releases, so this test test for multi fonts is
+     * all post 1.0 releases, so this test for multi fonts is
      * probably not needed, and the singleton xfont is probably never used.
      */
     if (fdata->charset_num > 0) {
diff --git a/jdk/src/java.desktop/unix/native/common/awt/medialib/mlib_v_ImageCopy_f.c b/jdk/src/java.desktop/unix/native/common/awt/medialib/mlib_v_ImageCopy_f.c
index 30bf14368de..7b4bd8c3c13 100644
--- a/jdk/src/java.desktop/unix/native/common/awt/medialib/mlib_v_ImageCopy_f.c
+++ b/jdk/src/java.desktop/unix/native/common/awt/medialib/mlib_v_ImageCopy_f.c
@@ -196,7 +196,7 @@ void mlib_ImageCopy_bit_al(const mlib_u8 *sa,
 /***************************************************************/
 /*
  * Either source or destination data are not 8-byte aligned.
- * And size is is in bytes.
+ * And size is in bytes.
  */
 
 void mlib_ImageCopy_na(const mlib_u8 *sa,
diff --git a/jdk/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c b/jdk/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c
index 92a9401e523..6fe8e3fcdb3 100644
--- a/jdk/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c
+++ b/jdk/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c
@@ -1103,7 +1103,7 @@ int32_t GetXVisualInfo(display, screen, transparentOverlays,
                                          * of those supports a transparent
                                          * pixel. */
     int32_t             *numVisuals;            /* Number of XVisualInfo struct's
-                                         * pointed to to by pVisuals. */
+                                         * pointed to by pVisuals. */
     XVisualInfo **pVisuals;             /* All of the device's visuals. */
     int32_t             *numOverlayVisuals;     /* Number of OverlayInfo's pointed
                                          * to by pOverlayVisuals.  If this
diff --git a/jdk/src/java.desktop/unix/native/libawt_xawt/awt/wsutils.h b/jdk/src/java.desktop/unix/native/libawt_xawt/awt/wsutils.h
index 9ff6c5d23e8..5903e1696e0 100644
--- a/jdk/src/java.desktop/unix/native/libawt_xawt/awt/wsutils.h
+++ b/jdk/src/java.desktop/unix/native/libawt_xawt/awt/wsutils.h
@@ -167,7 +167,7 @@ extern int32_t GetXVisualInfo(
                                          * of those supports a transparent
                                          * pixel. */
     int32_t             *numVisuals,            /* Number of XVisualInfo struct's
-                                         * pointed to to by pVisuals. */
+                                         * pointed to by pVisuals. */
     XVisualInfo **pVisuals,             /* All of the device's visuals. */
     int32_t             *numOverlayVisuals,     /* Number of OverlayInfo's pointed
                                          * to by pOverlayVisuals.  If this
diff --git a/jdk/src/java.desktop/unix/native/libmlib_image/mlib_v_ImageChannelExtract_43.c b/jdk/src/java.desktop/unix/native/libmlib_image/mlib_v_ImageChannelExtract_43.c
index ea8781e2857..cf6ec42372e 100644
--- a/jdk/src/java.desktop/unix/native/libmlib_image/mlib_v_ImageChannelExtract_43.c
+++ b/jdk/src/java.desktop/unix/native/libmlib_image/mlib_v_ImageChannelExtract_43.c
@@ -252,7 +252,7 @@ void mlib_v_ImageChannelExtract_U8_43R_A8D2X8(const mlib_u8 *src,
 /***************************************************************/
 /*
  * Either source or destination data are not 8-byte aligned.
- * And dsize is is in pixels.
+ * And dsize is in pixels.
  */
 
 void mlib_v_ImageChannelExtract_U8_43R_D1(const mlib_u8 *src,
@@ -1182,7 +1182,7 @@ void mlib_v_ImageChannelExtract_S16_43L_A8D2X4(const mlib_s16 *src,
 /***************************************************************/
 /*
  * Either source or destination data are not 8-byte aligned.
- * And size is is in pixels.
+ * And size is in pixels.
  */
 
 void mlib_v_ImageChannelExtract_S16_43L_D1(const mlib_s16 *src,
diff --git a/jdk/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java b/jdk/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java
index ed3478d0be3..5fd7c34cad5 100644
--- a/jdk/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java
@@ -251,7 +251,7 @@ final class Win32ShellFolder2 extends ShellFolder {
                         // Get a child pidl relative to 'parent'
                         long childPIDL = copyFirstPIDLEntry(pIDL);
                         if (childPIDL != 0) {
-                            // Get a handle to the the rest of the ID list
+                            // Get a handle to the rest of the ID list
                             // i,e, parent's grandchilren and down
                             pIDL = getNextPIDLEntry(pIDL);
                             if (pIDL != 0) {
diff --git a/jdk/src/java.desktop/windows/classes/sun/awt/windows/TranslucentWindowPainter.java b/jdk/src/java.desktop/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
index ff06aa50f94..e57ce205a74 100644
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
@@ -110,7 +110,7 @@ abstract class TranslucentWindowPainter {
     protected abstract Image getBackBuffer(boolean clear);
 
     /**
-     * Updates the the window associated with this painter with the contents
+     * Updates the window associated with this painter with the contents
      * of the passed image.
      * The image can not be null, and NPE will be thrown if it is.
      */
diff --git a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java
index efd8517a9f7..7915982c95a 100644
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java
@@ -183,7 +183,7 @@ public final class WToolkit extends SunToolkit implements Runnable {
     /**
      * Initializes the Toolkit for use in an embedded environment.
      *
-     * @return true if the the initialization succeeded; false if it failed.
+     * @return true if the initialization succeeded; false if it failed.
      *         The function will fail if the Toolkit was already initialized.
      * @since 1.3
      */
diff --git a/jdk/src/java.desktop/windows/native/libawt/java2d/windows/GDIWindowSurfaceData.cpp b/jdk/src/java.desktop/windows/native/libawt/java2d/windows/GDIWindowSurfaceData.cpp
index 5afb5b3229e..b52dce038a0 100644
--- a/jdk/src/java.desktop/windows/native/libawt/java2d/windows/GDIWindowSurfaceData.cpp
+++ b/jdk/src/java.desktop/windows/native/libawt/java2d/windows/GDIWindowSurfaceData.cpp
@@ -77,7 +77,7 @@ void SetupThreadGraphicsInfo(JNIEnv *env, GDIWinSDOps *wsdo) {
         ZeroMemory(info, sizeof(ThreadGraphicsInfo));
         TlsSetValue(threadInfoIndex, (LPVOID)info);
         J2dTraceLn2(J2D_TRACE_VERBOSE,
-                    "  current batch limit for for thread 0x%x is %d",
+                    "  current batch limit for thread 0x%x is %d",
                      GetCurrentThreadId(), ::GdiGetBatchLimit());
         J2dTraceLn(J2D_TRACE_VERBOSE, "  setting to the limit to 1");
         // Fix for bug 4374079
diff --git a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Debug.h b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Debug.h
index fb67ea6ab74..6e99799541f 100644
--- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Debug.h
+++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Debug.h
@@ -40,7 +40,7 @@
 
             static void AssertCallback(const char * expr, const char * file,
                                        int line);
-            /* This method signals that the VM is exiting cleanly, and thus the
+            /* This method signals that the VM is exiting cleanly, and thus
                the debug memory manager should dump a leaks report when the
                VM has finished exiting. This method should not be called for
                termination exits (such as <CTRL>-C) */
diff --git a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Frame.h b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Frame.h
index eac23e92948..fe0e1f86606 100644
--- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Frame.h
+++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Frame.h
@@ -215,7 +215,7 @@ private:
      * Hashtable<Thread, BlockedThreadStruct> - a table that contains all the
      * information about non-toolkit threads with modal blocked embedded
      * frames. This information includes: number of blocked embedded frames
-     * created on the the thread, and mouse and modal hooks installed for
+     * created on the thread, and mouse and modal hooks installed for
      * that thread. For every thread each hook is installed only once
      */
     static Hashtable sm_BlockedThreads;
diff --git a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Palette.cpp b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Palette.cpp
index cd38ca5e558..51b51a0e36e 100644
--- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Palette.cpp
+++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Palette.cpp
@@ -113,7 +113,7 @@ AwtPalette::AwtPalette(AwtWin32GraphicsDevice *device)
 }
 
 /**
- * Retrieves system palette entries. Includes a workaround for for some
+ * Retrieves system palette entries. Includes a workaround for some
  * video drivers which may not support the GSPE call but may return
  * valid values from this procedure.
  */
diff --git a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Toolkit.h b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Toolkit.h
index 3782aac8cf7..56b723211a6 100644
--- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Toolkit.h
+++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Toolkit.h
@@ -553,7 +553,7 @@ public:
         bool Terminate(bool wrongThread);
         bool InvokeAndTerminate(void(_cdecl *fn)(void *), void *param);
 
-        // waits for the the thread completion;
+        // waits for the thread completion;
         // use the method after Terminate() only if Terminate() returned true
         INLINE void Wait4Finish() {
             ::WaitForSingleObject(hFinished, INFINITE);
diff --git a/jdk/src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_MidiIn.cpp b/jdk/src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_MidiIn.cpp
index e9d4e200636..c4e5e65864a 100644
--- a/jdk/src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_MidiIn.cpp
+++ b/jdk/src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_MidiIn.cpp
@@ -426,7 +426,7 @@ INT32 MIDI_IN_StartDevice(MidiDeviceHandle* handle) {
 
     err = midiInStart((HMIDIIN) handle->deviceHandle);
         /* $$mp 200308-11: This method is already called in ...open(). It is
-           unclear why is is called again. The specification says that
+           unclear why it is called again. The specification says that
            MidiDevice.getMicrosecondPosition() returns the time since the
            device was opened (the spec doesn't know about start/stop).
            So I guess this call is obsolete. */
diff --git a/jdk/src/java.instrument/share/native/libinstrument/InvocationAdapter.c b/jdk/src/java.instrument/share/native/libinstrument/InvocationAdapter.c
index 3626647060c..06e0a0e5f44 100644
--- a/jdk/src/java.instrument/share/native/libinstrument/InvocationAdapter.c
+++ b/jdk/src/java.instrument/share/native/libinstrument/InvocationAdapter.c
@@ -564,7 +564,7 @@ decodeByte(char c1, char c2) {
 /*
  * Evaluates all escapes in s.  Assumes that escapes are well-formed
  * syntactically, i.e., of the form %XX.
- * If the path does not require decoding the the original path is
+ * If the path does not require decoding the original path is
  * returned. Otherwise the decoded path (heap allocated) is returned,
  * along with the length of the decoded path. Note that the return
  * string will not be null terminated after decoding.
diff --git a/jdk/src/java.management/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java b/jdk/src/java.management/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java
index 88bb5708996..b7f1444acaf 100644
--- a/jdk/src/java.management/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java
+++ b/jdk/src/java.management/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java
@@ -576,7 +576,7 @@ public final class JmxMBeanServer
      * the selected MBeans.
      *
      * @param name The object name pattern identifying the MBeans to
-     *      be retrieved. If null or or no domain and key properties
+     *      be retrieved. If null or no domain and key properties
      *      are specified, all the MBeans registered will be retrieved.
      * @param query The query expression to be applied for selecting
      *      MBeans. If null no query expression will be applied for
@@ -598,7 +598,7 @@ public final class JmxMBeanServer
      * the names of a set of MBeans specified by pattern matching on the
      * <CODE>ObjectName</CODE> and/or a Query expression, a specific
      * MBean name (equivalent to testing whether an MBean is registered).
-     * When the object name is null or or no domain and key properties are
+     * When the object name is null or no domain and key properties are
      * specified, all objects are selected (and filtered if a query is
      * specified). It returns the set of ObjectNames for the MBeans
      * selected.
diff --git a/jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java b/jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java
index e5245fea816..122095b372d 100644
--- a/jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java
+++ b/jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java
@@ -140,7 +140,7 @@ public abstract class ClientNotifForwarder {
     }
 
     /**
-     * Called to to fetch notifications from a server.
+     * Called to fetch notifications from a server.
      */
     abstract protected NotificationResult fetchNotifs(long clientSequenceNumber,
                                                       int maxNotifications,
diff --git a/jdk/src/java.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java b/jdk/src/java.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java
index 467fb0cf204..5546f55d05e 100644
--- a/jdk/src/java.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java
+++ b/jdk/src/java.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java
@@ -42,7 +42,7 @@ import sun.management.GarbageCollectionNotifInfoCompositeData;
  * The notification emitted will contain the garbage collection notification
  * information about the status of the memory:
  * <u1>
- *   <li>The name of the garbage collector used perform the collection.</li>
+ *   <li>The name of the garbage collector used to perform the collection.</li>
  *   <li>The action performed by the garbage collector.</li>
  *   <li>The cause of the garbage collection action.</li>
  *   <li>A {@link GcInfo} object containing some statistics about the GC cycle
@@ -109,7 +109,7 @@ public class GarbageCollectionNotificationInfo implements  CompositeDataView {
      *
      * @param gcName The name of the garbage collector used to perform the collection
      * @param gcAction The name of the action performed by the garbage collector
-     * @param gcCause The cause the garbage collection action
+     * @param gcCause The cause of the garbage collection action
      * @param gcInfo  a GcInfo object providing statistics about the GC cycle
      */
     public GarbageCollectionNotificationInfo(String gcName,
@@ -152,18 +152,18 @@ public class GarbageCollectionNotificationInfo implements  CompositeDataView {
     }
 
     /**
-     * Returns the action of the performed by the garbage collector
+     * Returns the action performed by the garbage collector
      *
-     * @return the the action of the performed by the garbage collector
+     * @return the action performed by the garbage collector
      */
     public String getGcAction() {
         return gcAction;
     }
 
     /**
-     * Returns the cause  the garbage collection
+     * Returns the cause of the garbage collection
      *
-     * @return the the cause  the garbage collection
+     * @return the cause of the garbage collection
      */
     public String getGcCause() {
         return gcCause;
diff --git a/jdk/src/java.management/share/classes/javax/management/openmbean/ArrayType.java b/jdk/src/java.management/share/classes/javax/management/openmbean/ArrayType.java
index 6c49e09f663..2d12347044a 100644
--- a/jdk/src/java.management/share/classes/javax/management/openmbean/ArrayType.java
+++ b/jdk/src/java.management/share/classes/javax/management/openmbean/ArrayType.java
@@ -570,7 +570,7 @@ public class ArrayType<T> extends OpenType<T> {
         // In case this ArrayType instance describes an array of classes implementing the TabularData or CompositeData interface,
         // we first check for the assignability of obj to such an array of TabularData or CompositeData,
         // which ensures that:
-        //  . obj is of the the same dimension as this ArrayType instance,
+        //  . obj is of the same dimension as this ArrayType instance,
         //  . it is declared as an array of elements which are either all TabularData or all CompositeData.
         //
         // If the assignment check is positive,
diff --git a/jdk/src/java.management/share/classes/javax/management/openmbean/SimpleType.java b/jdk/src/java.management/share/classes/javax/management/openmbean/SimpleType.java
index 89e233fef8d..f17d82cc231 100644
--- a/jdk/src/java.management/share/classes/javax/management/openmbean/SimpleType.java
+++ b/jdk/src/java.management/share/classes/javax/management/openmbean/SimpleType.java
@@ -244,7 +244,7 @@ public final class SimpleType<T> extends OpenType<T> {
 
     /**
      * Returns the hash code value for this <code>SimpleType</code> instance.
-     * The hash code of a <code>SimpleType</code> instance is the the hash code of
+     * The hash code of a <code>SimpleType</code> instance is the hash code of
      * the string value returned by the {@link OpenType#getClassName() getClassName} method.
      * <p>
      * As <code>SimpleType</code> instances are immutable, the hash code for this instance is calculated once,
diff --git a/jdk/src/java.management/share/classes/javax/management/openmbean/TabularDataSupport.java b/jdk/src/java.management/share/classes/javax/management/openmbean/TabularDataSupport.java
index 5740c79e6d8..74ff7523268 100644
--- a/jdk/src/java.management/share/classes/javax/management/openmbean/TabularDataSupport.java
+++ b/jdk/src/java.management/share/classes/javax/management/openmbean/TabularDataSupport.java
@@ -212,7 +212,7 @@ public class TabularDataSupport
     /**
      * Returns <tt>true</tt> if and only if this <tt>TabularData</tt> instance contains a <tt>CompositeData</tt> value
      * (ie a row) whose index is the specified <var>key</var>. If <var>key</var> cannot be cast to a one dimension array
-     * of Object instances, this method simply returns <tt>false</tt>; otherwise it returns the the result of the call to
+     * of Object instances, this method simply returns <tt>false</tt>; otherwise it returns the result of the call to
      * <tt>this.containsKey((Object[]) key)</tt>.
      *
      * @param  key  the index value whose presence in this <tt>TabularData</tt> instance is to be tested.
diff --git a/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java b/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java
index 86006ff714b..5edf4eaadd6 100644
--- a/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java
+++ b/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java
@@ -260,7 +260,7 @@ final class EventSupport {
         if (unsolicited == null || unsolicited.size() == 0) {
             // This shouldn't really happen, but might in case
             // there is a timing problem that removes a listener
-            // before a fired event event reaches here.
+            // before a fired event reaches here.
             return;
         }
 
diff --git a/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtx.java b/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtx.java
index c163dce796a..d8bf38be60a 100644
--- a/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtx.java
+++ b/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtx.java
@@ -989,7 +989,7 @@ final public class LdapCtx extends ComponentDirContext
     }
 
     /*
-     * Append the the second Vector onto the first Vector
+     * Append the second Vector onto the first Vector
      * (v2 must be non-null)
      */
     private static <T> Vector<T> appendVector(Vector<T> v1, Vector<T> v2) {
diff --git a/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapReferralException.java b/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapReferralException.java
index 53783adace4..5adffa441d9 100644
--- a/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapReferralException.java
+++ b/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapReferralException.java
@@ -59,7 +59,7 @@ import java.util.Vector;
   * objects.
   * <p>
   * If an exception was recorded while processing a chain of
-  * <tt>LdapReferralException</tt> objects then is is throw once
+  * <tt>LdapReferralException</tt> objects then it is throw once
   * processing has completed.
   *
   * @author Vincent Ryan
diff --git a/jdk/src/java.naming/share/classes/com/sun/jndi/toolkit/ctx/AtomicContext.java b/jdk/src/java.naming/share/classes/com/sun/jndi/toolkit/ctx/AtomicContext.java
index 606f38005cf..3be067b9491 100644
--- a/jdk/src/java.naming/share/classes/com/sun/jndi/toolkit/ctx/AtomicContext.java
+++ b/jdk/src/java.naming/share/classes/com/sun/jndi/toolkit/ctx/AtomicContext.java
@@ -533,7 +533,7 @@ public abstract class AtomicContext extends ComponentContext {
       * This function is used when implementing a naming system that
       * supports junctions.  For example, when the a_list_nns(newobj)
       * method is invoked, that means the caller is attempting to list the
-      * the nns context of of this context.  For a context that supports
+      * the nns context of this context.  For a context that supports
       * junctions, it by default does not have any nns.  Consequently,
       * a NameNotFoundException is thrown.
       */
diff --git a/jdk/src/java.naming/share/classes/javax/naming/ldap/Rdn.java b/jdk/src/java.naming/share/classes/javax/naming/ldap/Rdn.java
index dc001705bdd..aa22285de23 100644
--- a/jdk/src/java.naming/share/classes/javax/naming/ldap/Rdn.java
+++ b/jdk/src/java.naming/share/classes/javax/naming/ldap/Rdn.java
@@ -505,7 +505,7 @@ public class Rdn implements Serializable, Comparable<Object> {
      *
      * @param val The non-null object to be escaped.
      * @return Escaped string value.
-     * @throws ClassCastException if val is is not a String or byte array.
+     * @throws ClassCastException if val is not a String or byte array.
      */
     public static String escapeValue(Object val) {
         return (val instanceof byte[])
diff --git a/jdk/src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java b/jdk/src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java
index 37c4458f6e4..ebbca48a255 100644
--- a/jdk/src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java
+++ b/jdk/src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java
@@ -981,7 +981,7 @@ class FileSystemPreferences extends AbstractPreferences {
     private static int MAX_ATTEMPTS = 5;
 
     /**
-     * Release the the appropriate file lock (user or system).
+     * Release the appropriate file lock (user or system).
      * @throws SecurityException if file access denied.
      */
     private void unlockFile() {
diff --git a/jdk/src/java.rmi/share/classes/java/rmi/registry/LocateRegistry.java b/jdk/src/java.rmi/share/classes/java/rmi/registry/LocateRegistry.java
index 98d134ee602..e881556f939 100644
--- a/jdk/src/java.rmi/share/classes/java/rmi/registry/LocateRegistry.java
+++ b/jdk/src/java.rmi/share/classes/java/rmi/registry/LocateRegistry.java
@@ -62,7 +62,7 @@ public final class LocateRegistry {
     private LocateRegistry() {}
 
     /**
-     * Returns a reference to the the remote object <code>Registry</code> for
+     * Returns a reference to the remote object <code>Registry</code> for
      * the local host on the default registry port of 1099.
      *
      * @return reference (a stub) to the remote object registry
@@ -76,7 +76,7 @@ public final class LocateRegistry {
     }
 
     /**
-     * Returns a reference to the the remote object <code>Registry</code> for
+     * Returns a reference to the remote object <code>Registry</code> for
      * the local host on the specified <code>port</code>.
      *
      * @param port port on which the registry accepts requests
diff --git a/jdk/src/java.rmi/share/classes/sun/rmi/server/MarshalOutputStream.java b/jdk/src/java.rmi/share/classes/sun/rmi/server/MarshalOutputStream.java
index 33d216b09a2..f007e607e69 100644
--- a/jdk/src/java.rmi/share/classes/sun/rmi/server/MarshalOutputStream.java
+++ b/jdk/src/java.rmi/share/classes/sun/rmi/server/MarshalOutputStream.java
@@ -88,7 +88,7 @@ public class MarshalOutputStream extends ObjectOutputStream
     }
 
     /**
-     * Serializes a location from which to load the the specified class.
+     * Serializes a location from which to load the specified class.
      */
     protected void annotateClass(Class<?> cl) throws IOException {
         writeLocation(java.rmi.server.RMIClassLoader.getClassAnnotation(cl));
diff --git a/jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java b/jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java
index f47f3fe704e..fae0e36570b 100644
--- a/jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java
+++ b/jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java
@@ -35,7 +35,7 @@ import sun.rmi.runtime.Log;
  * ConnectionMultiplexer manages the transparent multiplexing of
  * multiple virtual connections from one endpoint to another through
  * one given real connection to that endpoint.  The input and output
- * streams for the the underlying real connection must be supplied.
+ * streams for the underlying real connection must be supplied.
  * A callback object is also supplied to be informed of new virtual
  * connections opened by the remote endpoint.  After creation, the
  * run() method must be called in a thread created for demultiplexing
diff --git a/jdk/src/java.scripting/share/classes/javax/script/ScriptContext.java b/jdk/src/java.scripting/share/classes/javax/script/ScriptContext.java
index 8d1076b6d9f..c283a39d3d7 100644
--- a/jdk/src/java.scripting/share/classes/javax/script/ScriptContext.java
+++ b/jdk/src/java.scripting/share/classes/javax/script/ScriptContext.java
@@ -130,7 +130,7 @@ public interface ScriptContext {
      * is determined by the numeric value of the scope parameter (lowest
      * scope values first.)
      *
-     * @param name The name of the the attribute to retrieve.
+     * @param name The name of the attribute to retrieve.
      * @return The value of the attribute in the lowest scope for
      * which an attribute with the given name is defined.  Returns
      * null if no attribute with the name exists in any scope.
diff --git a/jdk/src/java.scripting/share/classes/javax/script/ScriptEngineManager.java b/jdk/src/java.scripting/share/classes/javax/script/ScriptEngineManager.java
index e4d75c6a1fe..9423bec47a6 100644
--- a/jdk/src/java.scripting/share/classes/javax/script/ScriptEngineManager.java
+++ b/jdk/src/java.scripting/share/classes/javax/script/ScriptEngineManager.java
@@ -407,7 +407,7 @@ public class ScriptEngineManager  {
     /** Map of script file extension to script engine factory. */
     private HashMap<String, ScriptEngineFactory> extensionAssociations;
 
-    /** Map of script script MIME type to script engine factory. */
+    /** Map of script MIME type to script engine factory. */
     private HashMap<String, ScriptEngineFactory> mimeTypeAssociations;
 
     /** Global bindings associated with script engines created by this manager. */
diff --git a/jdk/src/java.scripting/share/classes/javax/script/SimpleScriptContext.java b/jdk/src/java.scripting/share/classes/javax/script/SimpleScriptContext.java
index a5bf12f9a22..3cd3cbe0344 100644
--- a/jdk/src/java.scripting/share/classes/javax/script/SimpleScriptContext.java
+++ b/jdk/src/java.scripting/share/classes/javax/script/SimpleScriptContext.java
@@ -132,7 +132,7 @@ public class SimpleScriptContext  implements ScriptContext {
      * is determined by the numeric value of the scope parameter (lowest
      * scope values first.)
      *
-     * @param name The name of the the attribute to retrieve.
+     * @param name The name of the attribute to retrieve.
      * @return The value of the attribute in the lowest scope for
      * which an attribute with the given name is defined.  Returns
      * null if no attribute with the name exists in any scope.
diff --git a/jdk/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java b/jdk/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java
index 2be499ff80b..54b838c5fa9 100644
--- a/jdk/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java
+++ b/jdk/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java
@@ -535,7 +535,7 @@ public class KerberosTicket implements Destroyable, Refreshable,
      * allowable renew time has passed. Any other error returned by the
      * KDC will also cause this method to fail.
      *
-     * Note: This method is not synchronized with the the accessor
+     * Note: This method is not synchronized with the accessor
      * methods of this object. Hence callers need to be aware of multiple
      * threads that might access this and try to renew it at the same
      * time.
diff --git a/jdk/src/java.security.jgss/share/classes/org/ietf/jgss/GSSContext.java b/jdk/src/java.security.jgss/share/classes/org/ietf/jgss/GSSContext.java
index 48c77e6988e..8c55da5fa98 100644
--- a/jdk/src/java.security.jgss/share/classes/org/ietf/jgss/GSSContext.java
+++ b/jdk/src/java.security.jgss/share/classes/org/ietf/jgss/GSSContext.java
@@ -558,7 +558,7 @@ public interface GSSContext {
      * @param msgProp instance of MessageProp that is used by the
      * application to set the desired QOP and privacy state. Set the
      * desired QOP to 0 to request the default QOP. Upon return from this
-     * method, this object will contain the the actual privacy state that
+     * method, this object will contain the actual privacy state that
      * was applied to the message by the underlying mechanism.
      * @return a byte[] containing the token to be sent to the peer.
      *
@@ -605,7 +605,7 @@ public interface GSSContext {
      * @param msgProp instance of MessageProp that is used by the
      * application to set the desired QOP and privacy state. Set the
      * desired QOP to 0 to request the default QOP. Upon return from this
-     * method, this object will contain the the actual privacy state that
+     * method, this object will contain the actual privacy state that
      * was applied to the message by the underlying mechanism.
      *
      * @throws GSSException containing the following
diff --git a/jdk/src/java.security.jgss/share/classes/sun/security/jgss/TokenTracker.java b/jdk/src/java.security.jgss/share/classes/sun/security/jgss/TokenTracker.java
index 5302289a153..5ce25f8711a 100644
--- a/jdk/src/java.security.jgss/share/classes/sun/security/jgss/TokenTracker.java
+++ b/jdk/src/java.security.jgss/share/classes/sun/security/jgss/TokenTracker.java
@@ -368,7 +368,7 @@ public class TokenTracker {
 
         /**
          * Returns -1 if this interval represented by this entry precedes
-         * the number, 0 if the the number is contained in the interval,
+         * the number, 0 if the number is contained in the interval,
          * and -1 if the interval occurs after the number.
          */
         final int compareTo(int number) {
diff --git a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/KrbApReq.java b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/KrbApReq.java
index 92331431da3..a7361abdec1 100644
--- a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/KrbApReq.java
+++ b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/KrbApReq.java
@@ -102,7 +102,7 @@ public class KrbApReq {
      * @param useSubkey Whether the subkey is to be used to protect this
      *        specific application session. If this is not set then the
      *        session key from the ticket will be used.
-     * @param checksum checksum of the the application data that accompanies
+     * @param checksum checksum of the application data that accompanies
      *        the KRB_AP_REQ.
      * @throws KrbException for any Kerberos protocol specific error
      * @throws IOException for any IO related errors
diff --git a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java
index 2335cc23eb9..ec68febd659 100644
--- a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java
+++ b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java
@@ -390,7 +390,7 @@ public class FileCredentialsCache extends CredentialsCache
          * /tmp/krb5cc_uid ; for all other platforms  we use
          * {user_home}/krb5cc_{user_name}
          * Please note that for Windows we will use LSA to get
-         * the TGT from the the default cache even before we come here;
+         * the TGT from the default cache even before we come here;
          * however when we create cache we will create a cache under
          * {user_home}/krb5cc_{user_name} for non-Unix platforms including
          * Windows.
diff --git a/jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/PlainClient.java b/jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/PlainClient.java
index 43c67fdf481..8bb3f3ef764 100644
--- a/jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/PlainClient.java
+++ b/jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/PlainClient.java
@@ -49,7 +49,7 @@ final class PlainClient implements SaslClient {
      *  for which authorization is being granted; if null, same as
      *  authenticationID
      * @param authenticationID A non-null string representing the principal
-     * being authenticated. pw is associated with with this principal.
+     * being authenticated. pw is associated with this principal.
      * @param pw A non-null byte[] containing the password.
      */
     PlainClient(String authorizationID, String authenticationID, byte[] pw)
diff --git a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/CachedRowSetImpl.java b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/CachedRowSetImpl.java
index eee6d430247..8fb0b5be9e2 100644
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/CachedRowSetImpl.java
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/CachedRowSetImpl.java
@@ -431,7 +431,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
      * provider to assist in determining the choice of the synchronizaton
      * provider such as:
      * <ul>
-     * <li><code>ROWSET_SYNC_PROVIDER</code> - the property specifying the the
+     * <li><code>ROWSET_SYNC_PROVIDER</code> - the property specifying the
      * <code>SyncProvider</code> class name to be instantiated by the
      * <code>SyncFacttory</code>
      * <li><code>ROWSET_SYNC_VENDOR</code> - the property specifying the software
@@ -3727,7 +3727,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
 
         /*
          * Each call to internalPrevious may move the cursor
-         * over multiple rows, the absolute position moves one one row
+         * over multiple rows, the absolute position moves one row
          */
         if (ret == true)
             --absolutePos;
diff --git a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JdbcRowSetImpl.java b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JdbcRowSetImpl.java
index 890baf6e942..0b74bfea80d 100644
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JdbcRowSetImpl.java
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JdbcRowSetImpl.java
@@ -3993,7 +3993,7 @@ public class JdbcRowSetImpl extends BaseRowSet implements JdbcRowSet, Joinable {
 
     /**
      * Retrieves the <code>DatabaseMetaData</code> associated with
-     * the connection handle associated this this
+     * the connection handle associated with this
      * <code>JdbcRowSet</code> object.
      *
      * @return the <code>DatabaseMetadata</code> associated
@@ -4007,7 +4007,7 @@ public class JdbcRowSetImpl extends BaseRowSet implements JdbcRowSet, Joinable {
 
     /**
      * Retrieves the <code>ParameterMetaData</code> associated with
-     * the connection handle associated this this
+     * the connection handle associated with this
      * <code>JdbcRowSet</code> object.
      *
      * @return the <code>ParameterMetadata</code> associated
@@ -4325,7 +4325,7 @@ public class JdbcRowSetImpl extends BaseRowSet implements JdbcRowSet, Joinable {
      * the connection is created using a JDBC technology-enabled driver
      * ("JDBC driver") and the <code>DriverManager</code>.
      * The correct JDBC URL for the specific driver to be used can be found
-     * in the driver documentation.  Although there are guidelines for for how
+     * in the driver documentation.  Although there are guidelines for how
      * a JDBC URL is formed,
      * a driver vendor can specify any <code>String</code> object except
      * one with a length of <code>0</code> (an empty string).
diff --git a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JoinRowSetImpl.java b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JoinRowSetImpl.java
index ef281db9b10..93386b1ea30 100644
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JoinRowSetImpl.java
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JoinRowSetImpl.java
@@ -1169,7 +1169,7 @@ public class JoinRowSetImpl extends WebRowSetImpl implements JoinRowSet {
      * @return the column value; if the value is SQL <code>NULL</code>, the
      *         result is <code>null</code>
      * @throws SQLException if the given column index is out of bounds,
-     *            the cursor is not on a valid row, or the the value to be
+     *            the cursor is not on a valid row, or the value to be
      *            retrieved is not binary
      */
     public byte[] getBytes(int columnIndex) throws SQLException {
@@ -4129,7 +4129,7 @@ public class JoinRowSetImpl extends WebRowSetImpl implements JoinRowSet {
     }
 
     /**
-     * Creates an an output stream of the internal state and contents of a
+     * Creates an output stream of the internal state and contents of a
      * <code>WebRowSet</code> for XML proceessing
      *
      * @throws SQLException if a datasource access occurs
diff --git a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/WebRowSetImpl.java b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/WebRowSetImpl.java
index db7bb7f51a6..78e723352c4 100644
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/WebRowSetImpl.java
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/WebRowSetImpl.java
@@ -93,7 +93,7 @@ public class WebRowSetImpl extends CachedRowSetImpl implements WebRowSet {
     }
 
     /**
-     * Constructs a new <code>WebRowSet</code> object initialized with the the
+     * Constructs a new <code>WebRowSet</code> object initialized with the
      * synchronization SPI provider properties as specified in the <code>Hashtable</code>. If
      * this hashtable is empty or is <code>null</code> the default constructor is invoked.
      *
@@ -234,7 +234,7 @@ public class WebRowSetImpl extends CachedRowSetImpl implements WebRowSet {
     /**
      * Writes this <code>WebRowSet</code> object to the given <code> OutputStream</code>
      * object in XML format.
-     * Creates an an output stream of the internal state and contents of a
+     * Creates an output stream of the internal state and contents of a
      * <code>WebRowSet</code> for XML proceessing
      *
      * @throws SQLException if a datasource access error occurs
diff --git a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java
index 60a50ff8af2..79c3e78fc00 100644
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java
@@ -843,7 +843,7 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
                for (String pkName : primaryKeys) {
                    if (!isPKNameValid(pkName, rsmd)) {
 
-                       /* We came here as one of the the primary keys
+                       /* We came here as one of the primary keys
                         * of the table is not present in the cached
                         * rowset object, it should be an autoincrement column
                         * and not included while creating CachedRowSet
diff --git a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/SyncResolverImpl.java b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/SyncResolverImpl.java
index 40907684a45..92bd594c484 100644
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/SyncResolverImpl.java
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/SyncResolverImpl.java
@@ -288,7 +288,7 @@ public class SyncResolverImpl extends CachedRowSetImpl implements SyncResolver {
     }
 
     /**
-     * This passes a CachedRowSet as a row the the CachedRowSetWriter
+     * This passes a CachedRowSet as a row to the CachedRowSetWriter
      * after the values have been resolved, back to the datasource.
      *
      * @param row a <code>CachedRowSet</code> object which will hold the
diff --git a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/providers/package.html b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/providers/package.html
index f75681fa7de..7e7ff315b52 100644
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/providers/package.html
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/providers/package.html
@@ -137,7 +137,7 @@ changed to something  completely new to get a new result set.
  inserted or deleted. Any method that causes a change in the rowset's values
  or cursor position also notifies any object that has been registered as
 a  listener with the rowset. So, for example, a table that displays the rowset's
- data in an applet can can be notified of changes and make updates as they
+ data in an applet can be notified of changes and make updates as they
  occur.<br>
     <br>
   The changes made to a rowset can be propagated back to the original data
diff --git a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java
index 3f64cb3a41d..b7fedd2572e 100644
--- a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java
+++ b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java
@@ -68,7 +68,7 @@ public interface EncryptionMethod {
     void setKeySize(int size);
 
     /**
-     * Returns the OAEP parameters of the algorithm applied applied to the
+     * Returns the OAEP parameters of the algorithm applied to the
      * cipher data.
      *
      * @return the OAEP parameters.
@@ -130,4 +130,3 @@ public interface EncryptionMethod {
      */
     void removeEncryptionMethodInformation(Element information);
 }
-
diff --git a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyUtils.java b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyUtils.java
index 8613c8197b7..6e1c62e307d 100644
--- a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyUtils.java
+++ b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyUtils.java
@@ -32,7 +32,7 @@ import com.sun.org.apache.xml.internal.security.keys.content.MgmtData;
 import com.sun.org.apache.xml.internal.security.keys.content.X509Data;
 
 /**
- * Utility class for for <CODE>com.sun.org.apache.xml.internal.security.keys</CODE> package.
+ * Utility class for the <CODE>com.sun.org.apache.xml.internal.security.keys</CODE> package.
  *
  * @author $Author: coheigea $
  */
diff --git a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java
index ec0e2880ff3..fa895706c0d 100644
--- a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java
+++ b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java
@@ -571,7 +571,7 @@ public class Reference extends SignatureElementProxy {
     }
 
     /**
-     * This method only works works after a call to verify.
+     * This method only works after a call to verify.
      * @return the transformed output(i.e. what is going to be digested).
      */
     public XMLSignatureInput getTransformsOutput() {
diff --git a/jdk/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c b/jdk/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c
index 7f0f0e37560..4633789709e 100644
--- a/jdk/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c
+++ b/jdk/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c
@@ -320,7 +320,7 @@ JNIEXPORT jint JNICALL Java_sun_tools_attach_VirtualMachineImpl_enqueue
         JNU_ThrowIOExceptionWithLastError(env, "door_call");
     } else {
         /*
-         * door_call succeeded but the call didn't return the the expected jint.
+         * door_call succeeded but the call didn't return the expected jint.
          */
         if (door_args.data_size < sizeof(jint)) {
             JNU_ThrowIOException(env, "Enqueue error - reason unknown as result is truncated!");
diff --git a/jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/P11KeyStore.java b/jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/P11KeyStore.java
index 436613c1602..aac76f3e6ab 100644
--- a/jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/P11KeyStore.java
+++ b/jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/P11KeyStore.java
@@ -1641,7 +1641,7 @@ final class P11KeyStore extends KeyStoreSpi {
 
         // If the key is a token object on this token, update it instead
         // of creating a duplicate key object.
-        // Otherwise, treat a P11Key like any other key, if is is extractable.
+        // Otherwise, treat a P11Key like any other key, if it is extractable.
         if (key instanceof P11Key) {
             P11Key p11Key = (P11Key)key;
             if (p11Key.tokenObject && (p11Key.token == this.token)) {
diff --git a/jdk/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeCipherWithJavaPadding.java b/jdk/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeCipherWithJavaPadding.java
index fdd1c3ebb7e..f2d097bf8b4 100644
--- a/jdk/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeCipherWithJavaPadding.java
+++ b/jdk/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeCipherWithJavaPadding.java
@@ -89,7 +89,7 @@ public class NativeCipherWithJavaPadding extends CipherSpi {
 
     private static class PKCS5Padding implements Padding {
         private final int blockSize;
-        // buffer for storing the the potential padding bytes
+        // buffer for storing the potential padding bytes
         private ByteBuffer trailingBytes = null;
 
         PKCS5Padding(int blockSize)
diff --git a/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/Plotter.java b/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/Plotter.java
index acfd005dd0b..a0b6ba9ea69 100644
--- a/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/Plotter.java
+++ b/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/Plotter.java
@@ -838,7 +838,7 @@ public class Plotter extends JComponent
     private static class TimeStamps {
         // Time stamps (long) are split into offsets (long) and a
         // series of times from the offsets (int). A new offset is
-        // stored when the the time value doesn't fit in an int
+        // stored when the time value doesn't fit in an int
         // (approx every 24 days).  An array of indices is used to
         // define the starting point for each offset in the times
         // array.
diff --git a/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XObject.java b/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XObject.java
index b74f2066a5f..e56d6ef25e4 100644
--- a/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XObject.java
+++ b/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XObject.java
@@ -65,7 +65,7 @@ public class XObject extends JLabel {
         return object;
     }
 
-    //if true the the object.hashcode is added to the label
+    //if true the object.hashcode is added to the label
     public static void
         useHashCodeRepresentation(boolean useHashCodeRepresentation) {
         XObject.useHashCodeRepresentation = useHashCodeRepresentation;
diff --git a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachineManager.java b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachineManager.java
index 5b59db575c2..bb24b72faf8 100644
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachineManager.java
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachineManager.java
@@ -225,7 +225,7 @@ import java.io.IOException;
  * file contains a provider configuration file named
  * <tt>com.sun.jdi.connect.spi.TransportService</tt> in the resource
  * directory <tt>META-INF/services</tt>, and the provider
- * configuration file lists the the full-qualified class name of the
+ * configuration file lists the full-qualified class name of the
  * TransportService implementation. A TransportService is a concrete
  * sub-class of {@link com.sun.jdi.connect.spi.TransportService
  * TransportService}. The format of the provider configuration file
diff --git a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/AttachingConnector.java b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/AttachingConnector.java
index 80bf5a0644c..a4409c6ded4 100644
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/AttachingConnector.java
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/AttachingConnector.java
@@ -38,7 +38,7 @@ import java.io.IOException;
 @jdk.Exported
 public interface AttachingConnector extends Connector {
     /**
-     * Attaches to a running application and and returns a
+     * Attaches to a running application and returns a
      * mirror of its VM.
      * <p>
      * The connector uses the given argument map in
diff --git a/jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java b/jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java
index 903477118a9..be7bc2abc7b 100644
--- a/jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java
@@ -613,7 +613,7 @@ public class ThreadReferenceImpl extends ObjectReferenceImpl
     }
 
     /**
-     * Propagate the the thread state change information
+     * Propagate the thread state change information
      * to registered listeners.
      * Must be entered while synchronized on vm.state()
      */
diff --git a/jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java b/jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java
index 6a0eeb688be..adc9adf3ca5 100644
--- a/jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java
@@ -1250,7 +1250,7 @@ class VirtualMachineImpl extends MirrorImpl
         Long key = id;
 
         /*
-         * Attempt to retrieve an existing object object reference
+         * Attempt to retrieve an existing object reference
          */
         SoftObjectReference ref = objectsByID.get(key);
         if (ref != null) {
diff --git a/jdk/src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c b/jdk/src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c
index 82911fdb66b..f78232e1229 100644
--- a/jdk/src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c
+++ b/jdk/src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c
@@ -438,7 +438,7 @@ reportEvents(JNIEnv *env, jbyte sessionID, jthread thread, EventIndex ei,
                 do {
                     /* The events have been reported and this
                      * thread is about to continue, but it may
-                     * have been started up up just to perform a
+                     * have been started up just to perform a
                      * requested method invocation. If so, we do
                      * the invoke now and then stop again waiting
                      * for another continue. By then another
diff --git a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/BufferedMonitoredVm.java b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/BufferedMonitoredVm.java
index 56e9b16aadd..7930d601ce7 100644
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/BufferedMonitoredVm.java
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/BufferedMonitoredVm.java
@@ -47,7 +47,7 @@ public interface BufferedMonitoredVm extends MonitoredVm {
     byte[] getBytes();
 
     /**
-     * Interface to get the the size of the instrumentation buffer
+     * Interface to get the size of the instrumentation buffer
      * for the target Java Virtual Machine.
      *
      * @return int - the size of the instrumentation buffer for the
diff --git a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java
index 508597229db..31f37d9e6c4 100644
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java
@@ -227,7 +227,7 @@ public class HostIdentifier {
      *
      * The necessary components of the VmIdentifier are extracted and
      * reassembled into a HostIdentifier. If a "file:" scheme (protocol)
-     * is specified, the the returned HostIdentifier will always be
+     * is specified, the returned HostIdentifier will always be
      * equivalent to HostIdentifier("file://localhost").
      *
      * @param vmid the VmIdentifier use to construct the HostIdentifier.
diff --git a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVm.java b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVm.java
index bf067e9df34..c72e9c4d011 100644
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVm.java
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVm.java
@@ -59,7 +59,7 @@ public interface MonitoredVm {
      *
      * @param name the name of the Instrumentation object to find.
      * @return Monitor - the {@link Monitor} object that can be used to
-     *                   monitor the the named instrumentation object, or
+     *                   monitor the named instrumentation object, or
      *                   <tt>null</tt> if the named object doesn't exist.
      * @throws MonitorException Thrown if an error occurs while communicating
      *                          with the target Java Virtual Machine.
diff --git a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java
index 625b3a8684f..f2b6cd18684 100644
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java
@@ -58,7 +58,7 @@ public class MonitoredVmUtil {
      *
      * @param vm the target MonitoredVm
      * @return String - contains the command line of the target Java
-     *                  application or the the string "Unknown" if the
+     *                  application or the string "Unknown" if the
      *                  command line cannot be determined.
      */
     public static String commandLine(MonitoredVm vm) throws MonitorException {
@@ -73,7 +73,7 @@ public class MonitoredVmUtil {
      *
      * @param vm the target MonitoredVm
      * @return String - contains the arguments to the main class for the
-     *                  target Java application or the the string "Unknown"
+     *                  target Java application or the string "Unknown"
      *                  if the command line cannot be determined.
      */
     public static String mainArgs(MonitoredVm vm) throws MonitorException {
@@ -97,7 +97,7 @@ public class MonitoredVmUtil {
      * @param vm the target MonitoredVm
      * @param fullPath include the full path to Jar file, where applicable
      * @return String - contains the main class of the target Java
-     *                  application or the the string "Unknown" if the
+     *                  application or the string "Unknown" if the
      *                  command line cannot be determined.
      */
     public static String mainClass(MonitoredVm vm, boolean fullPath)
@@ -138,7 +138,7 @@ public class MonitoredVmUtil {
      *
      * @param vm the target MonitoredVm
      * @return String - contains the arguments passed to the JVM for the
-     *                  target Java application or the the string "Unknown"
+     *                  target Java application or the string "Unknown"
      *                  if the command line cannot be determined.
      */
     public static String jvmArgs(MonitoredVm vm) throws MonitorException {
@@ -151,7 +151,7 @@ public class MonitoredVmUtil {
      *
      * @param vm the target MonitoredVm
      * @return String - contains the flags passed to the JVM for the
-     *                  target Java application or the the string "Unknown"
+     *                  target Java application or the string "Unknown"
      *                  if the command line cannot be determined.
      */
     public static String jvmFlags(MonitoredVm vm) throws MonitorException {
diff --git a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/remote/RemoteVm.java b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/remote/RemoteVm.java
index 846e5d8c151..d7844932f3e 100644
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/remote/RemoteVm.java
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/remote/RemoteVm.java
@@ -49,7 +49,7 @@ public interface RemoteVm extends Remote {
     byte[] getBytes() throws RemoteException;
 
     /**
-     * Interface to get the the size of the instrumentation buffer
+     * Interface to get the size of the instrumentation buffer
      * for the target Java Virtual Machine.
      *
      * @return int - the size of the instrumentation buffer for the
diff --git a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/AbstractPerfDataBuffer.java b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/AbstractPerfDataBuffer.java
index a07ce33c429..7b316d3d8b7 100644
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/AbstractPerfDataBuffer.java
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/AbstractPerfDataBuffer.java
@@ -91,7 +91,7 @@ public abstract class AbstractPerfDataBuffer {
      *
      * @param name the name of the Instrumentation object to find.
      * @return Monitor - the {@link Monitor} object that can be used to
-     *                   monitor the the named instrumentation object, or
+     *                   monitor the named instrumentation object, or
      *                   <tt>null</tt> if the named object doesn't exist.
      * @throws MonitorException Thrown if an error occurs while communicating
      *                          with the target Java Virtual Machine.
diff --git a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfDataBufferImpl.java b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfDataBufferImpl.java
index db72e654735..d5476aa7c8b 100644
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfDataBufferImpl.java
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfDataBufferImpl.java
@@ -229,7 +229,7 @@ public abstract class PerfDataBufferImpl {
      *
      * @param name the name of the Instrumentation object to find.
      * @return Monitor - the {@link Monitor} object that can be used to
-     *                   monitor the the named instrumentation object, or
+     *                   monitor the named instrumentation object, or
      *                   <tt>null</tt> if the named object doesn't exist.
      * @throws MonitorException Thrown if an error occurs while communicating
      *                          with the target Java Virtual Machine.
diff --git a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfIntegerMonitor.java b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfIntegerMonitor.java
index 98c7f60fca6..6e0c2f5409c 100644
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfIntegerMonitor.java
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfIntegerMonitor.java
@@ -63,7 +63,7 @@ public class PerfIntegerMonitor extends AbstractMonitor
      * The object returned contains an Integer object containing the
      * current value of the IntegerInstrument.
      *
-     * @return Object - the current value of the the IntegerInstrument. The
+     * @return Object - the current value of the IntegerInstrument. The
      *                   return type is guaranteed to be of type Integer.
      */
     public Object getValue() {
diff --git a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfLongMonitor.java b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfLongMonitor.java
index 27d5431b1bf..5f416a95f73 100644
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfLongMonitor.java
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfLongMonitor.java
@@ -62,7 +62,7 @@ public class PerfLongMonitor extends AbstractMonitor implements LongMonitor {
      * The object returned contains a Long object containing the
      * current value of the LongInstrument.
      *
-     * @return Object - the current value of the the LongInstrument. The
+     * @return Object - the current value of the LongInstrument. The
      *                  return type is guaranteed to be of type Long.
      */
     public Object getValue() {
diff --git a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/v1_0/PerfDataBuffer.java b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/v1_0/PerfDataBuffer.java
index a6eafba6954..567a2c5d705 100644
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/v1_0/PerfDataBuffer.java
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/v1_0/PerfDataBuffer.java
@@ -429,7 +429,7 @@ public class PerfDataBuffer extends PerfDataBufferImpl {
 
                 /*
                  * replace the real counters with pseudo counters that are
-                 * initialized to to the correct values. The maximum size of
+                 * initialized to the correct values. The maximum size of
                  * the eden and survivor spaces are supposed to be:
                  *    max_eden_size = new_size - (2*alignment).
                  *    max_survivor_size = new_size - (2*alignment).
diff --git a/jdk/src/jdk.naming.dns/share/classes/com/sun/jndi/dns/ResourceRecord.java b/jdk/src/jdk.naming.dns/share/classes/com/sun/jndi/dns/ResourceRecord.java
index c34bd680983..d155696bfce 100644
--- a/jdk/src/jdk.naming.dns/share/classes/com/sun/jndi/dns/ResourceRecord.java
+++ b/jdk/src/jdk.naming.dns/share/classes/com/sun/jndi/dns/ResourceRecord.java
@@ -103,7 +103,7 @@ public class ResourceRecord {
     int rrlen;                  // number of octets in encoded RR
     DnsName name;               // name field of RR, including root label
     int rrtype;                 // type field of RR
-    String rrtypeName;          // name of of rrtype
+    String rrtypeName;          // name of rrtype
     int rrclass;                // class field of RR
     String rrclassName;         // name of rrclass
     int ttl = 0;                // ttl field of RR
diff --git a/jdk/src/jdk.rmic/share/classes/sun/tools/java/ClassDefinition.java b/jdk/src/jdk.rmic/share/classes/sun/tools/java/ClassDefinition.java
index 47a163235d5..f096205c0f4 100644
--- a/jdk/src/jdk.rmic/share/classes/sun/tools/java/ClassDefinition.java
+++ b/jdk/src/jdk.rmic/share/classes/sun/tools/java/ClassDefinition.java
@@ -295,7 +295,7 @@ class ClassDefinition implements Constants {
     }
 
     /**
-     * Tell if the class is local or or anonymous class, or inside
+     * Tell if the class is local or anonymous class, or inside
      * such a class, which means it cannot be mentioned outside of
      * its file.
      */
@@ -770,7 +770,7 @@ class ClassDefinition implements Constants {
     }
 
     /**
-     * We know the the field is marked protected (and not public) and that
+     * We know the field is marked protected (and not public) and that
      * the field is visible (as per canAccess).  Can we access the field as
      * <accessor>.<field>, where <accessor> has the type <accessorType>?
      *
diff --git a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpMultiChannel.java b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpMultiChannel.java
index 169243d21c8..aa32a7468a2 100644
--- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpMultiChannel.java
+++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpMultiChannel.java
@@ -219,7 +219,7 @@ public abstract class SctpMultiChannel
      *         bind the socket to an automatically assigned socket address
      *
      * @param  backlog
-     *         The maximum number number of pending connections
+     *         The maximum number of pending connections
      *
      * @return  This channel
      *
@@ -706,7 +706,7 @@ public abstract class SctpMultiChannel
      *
      * @throws  SecurityException
      *          If a security manager has been installed and it does not permit
-     *          new associations to be setup with the the messages's address
+     *          new associations to be setup with the messages's address
      *
      * @throws  IOException
      *          If some other I/O error occurs
diff --git a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpServerChannel.java b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpServerChannel.java
index 899a2f6f407..0e9b9c35f68 100644
--- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpServerChannel.java
+++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpServerChannel.java
@@ -214,7 +214,7 @@ public abstract class SctpServerChannel
      *         bind the socket to an automatically assigned socket address
      *
      * @param  backlog
-     *         The maximum number number of pending associations
+     *         The maximum number of pending associations
      *
      * @return  This channel
      *
diff --git a/jdk/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c b/jdk/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c
index c74af9607f1..2e8d1f9a59a 100644
--- a/jdk/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c
+++ b/jdk/src/jdk.sctp/unix/native/libsctp/SctpChannelImpl.c
@@ -507,7 +507,7 @@ JNIEXPORT jint JNICALL Java_sun_nio_ch_sctp_SctpChannelImpl_receive0
             if (handleNotification(env, fd, resultContainerObj, snp, rv,
                                    (msg->msg_flags & MSG_EOR),
                                    (struct sockaddr*)&sa ) == JNI_TRUE) {
-                /* We have received a notification that is of interest to
+                /* We have received a notification that is of interest
                    to the Java API. The appropriate notification will be
                    set in the result container. */
                 if (allocated == JNI_TRUE) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTDomainPrincipal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTDomainPrincipal.java
index eb7730cd5ad..e3a46debeed 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTDomainPrincipal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTDomainPrincipal.java
@@ -117,7 +117,7 @@ public class NTDomainPrincipal implements Principal, java.io.Serializable {
      * @param o Object to be compared for equality with this
      *          <code>NTDomainPrincipal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>NTDomainPrincipal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTNumericCredential.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTNumericCredential.java
index 9bda9c9e84c..59208603c19 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTNumericCredential.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTNumericCredential.java
@@ -88,7 +88,7 @@ public class NTNumericCredential {
      * @param o Object to be compared for equality with this
      *          <code>NTNumericCredential</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>NTNumericCredential</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java
index d3f34f9689a..e065ea49a08 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java
@@ -91,7 +91,7 @@ public class NTSidDomainPrincipal extends NTSid {
      * @param o Object to be compared for equality with this
      *          <code>NTSidDomainPrincipal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>NTSidDomainPrincipal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java
index 6b599454603..5f509e22ec3 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java
@@ -86,7 +86,7 @@ public class NTSidGroupPrincipal extends NTSid {
      * @param o Object to be compared for equality with this
      *          <code>NTSidGroupPrincipal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>NTSidGroupPrincipal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java
index 5928dce3dc0..4578f271df6 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java
@@ -89,7 +89,7 @@ public class NTSidPrimaryGroupPrincipal extends NTSid {
      * @param o Object to be compared for equality with this
      *          <code>NTSidPrimaryGroupPrincipal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>NTSidPrimaryGroupPrincipal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidUserPrincipal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidUserPrincipal.java
index 9265f54751f..98b318d4f4a 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidUserPrincipal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidUserPrincipal.java
@@ -85,7 +85,7 @@ public class NTSidUserPrincipal extends NTSid {
      * @param o Object to be compared for equality with this
      *          <code>NTSidUserPrincipal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>NTSidUserPrincipal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTUserPrincipal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTUserPrincipal.java
index 91be069aa10..55e88e17625 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTUserPrincipal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTUserPrincipal.java
@@ -111,7 +111,7 @@ public class NTUserPrincipal implements Principal, java.io.Serializable {
      * @param o Object to be compared for equality with this
      *          <code>NTPrincipal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>NTPrincipal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java
index 04229eaab9c..27e77307703 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java
@@ -184,7 +184,7 @@ public class SolarisNumericGroupPrincipal implements
      * @param o Object to be compared for equality with this
      *          <code>SolarisNumericGroupPrincipal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>SolarisNumericGroupPrincipal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java
index d7ba9c038d7..0369a7830f6 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java
@@ -151,7 +151,7 @@ public class SolarisNumericUserPrincipal implements
      * @param o Object to be compared for equality with this
      *          <code>SolarisNumericUserPrincipal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>SolarisNumericUserPrincipal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisPrincipal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisPrincipal.java
index 69ece714774..6fd78fa5cb1 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisPrincipal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisPrincipal.java
@@ -115,7 +115,7 @@ public class SolarisPrincipal implements Principal, java.io.Serializable {
      * @param o Object to be compared for equality with this
      *          <code>SolarisPrincipal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>SolarisPrincipal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java
index 63c9d28c34d..5edb8d2a4ec 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java
@@ -187,7 +187,7 @@ public class UnixNumericGroupPrincipal implements
      * @param o Object to be compared for equality with this
      *          <code>UnixNumericGroupPrincipal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>UnixNumericGroupPrincipal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java
index e2016efe77d..bb45c642459 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java
@@ -147,7 +147,7 @@ public class UnixNumericUserPrincipal implements
      * @param o Object to be compared for equality with this
      *          <code>UnixNumericUserPrincipal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>UnixNumericUserPrincipal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixPrincipal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixPrincipal.java
index 4aefaf9b7f2..140bd8ffcd8 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixPrincipal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixPrincipal.java
@@ -112,7 +112,7 @@ public class UnixPrincipal implements Principal, java.io.Serializable {
      * @param o Object to be compared for equality with this
      *          <code>UnixPrincipal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>UnixPrincipal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/X500Principal.java b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/X500Principal.java
index ae3e4cb5548..c4b12bdb28b 100644
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/X500Principal.java
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/X500Principal.java
@@ -130,7 +130,7 @@ public class X500Principal implements Principal, java.io.Serializable {
      * @param o Object to be compared for equality with this
      *          <code>X500Principal</code>.
      *
-     * @return true if the specified Object is equal equal to this
+     * @return true if the specified Object is equal to this
      *          <code>X500Principal</code>.
      */
     public boolean equals(Object o) {
diff --git a/jdk/src/sample/share/nio/server/ChannelIOSecure.java b/jdk/src/sample/share/nio/server/ChannelIOSecure.java
index 7508966f3dc..74bf652b7f1 100644
--- a/jdk/src/sample/share/nio/server/ChannelIOSecure.java
+++ b/jdk/src/sample/share/nio/server/ChannelIOSecure.java
@@ -576,7 +576,7 @@ needIO:
 
         /*
          * We ignore the return value here, we return the
-         * number of bytes actually consumed from the the file.
+         * number of bytes actually consumed from the file.
          * We'll flush the output buffer before we start shutting down.
          */
         doWrite(fileChannelBB);
diff --git a/jdk/src/sample/solaris/dtrace/hotspot/gc_time_stat.d b/jdk/src/sample/solaris/dtrace/hotspot/gc_time_stat.d
index c35b87d8ac0..eb6f8665608 100644
--- a/jdk/src/sample/solaris/dtrace/hotspot/gc_time_stat.d
+++ b/jdk/src/sample/solaris/dtrace/hotspot/gc_time_stat.d
@@ -111,8 +111,8 @@ hotspot$target:::gc-end
  *  arg4: uintptr_t,    the initial size of the memory pool (in bytes)
  *  arg5: uintptr_t,    the amount of memory in use in the memory pool
  *                          (in bytes)
- *  arg6: uintptr_t,    the the number of committed pages in the memory pool
- *  arg7: uintptr_t,    the the maximum size of the memory pool
+ *  arg6: uintptr_t,    the number of committed pages in the memory pool
+ *  arg7: uintptr_t,    the maximum size of the memory pool
  */
 hotspot$target:::mem-pool-gc-begin
 {