diff a/src/java.base/share/classes/java/security/AccessControlException.java b/src/java.base/share/classes/java/security/AccessControlException.java
--- a/src/java.base/share/classes/java/security/AccessControlException.java
+++ b/src/java.base/share/classes/java/security/AccessControlException.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -44,11 +44,13 @@
 public class AccessControlException extends SecurityException {
 
     @java.io.Serial
     private static final long serialVersionUID = 5138225684096988535L;
 
-    // the permission that caused the exception to be thrown.
+    /**
+     * The permission that caused the exception to be thrown.
+     */
     private Permission perm;
 
     /**
      * Constructs an {@code AccessControlException} with the
      * specified, detailed message.
diff a/src/java.base/share/classes/java/security/AllPermission.java b/src/java.base/share/classes/java/security/AllPermission.java
--- a/src/java.base/share/classes/java/security/AllPermission.java
+++ b/src/java.base/share/classes/java/security/AllPermission.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -159,11 +159,14 @@
 
     // use serialVersionUID from JDK 1.2.2 for interoperability
     @java.io.Serial
     private static final long serialVersionUID = -4023755556366636806L;
 
-    private boolean all_allowed; // true if any all permissions have been added
+    /**
+     * true if any AllPermissions have been added
+     */
+    private boolean all_allowed;
 
     /**
      * Create an empty AllPermissions object.
      *
      */
diff a/src/java.base/share/classes/java/security/BasicPermission.java b/src/java.base/share/classes/java/security/BasicPermission.java
--- a/src/java.base/share/classes/java/security/BasicPermission.java
+++ b/src/java.base/share/classes/java/security/BasicPermission.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -258,10 +258,14 @@
     }
 
     /**
      * readObject is called to restore the state of the BasicPermission from
      * a stream.
+     *
+     * @param  s the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     @java.io.Serial
     private void readObject(ObjectInputStream s)
          throws IOException, ClassNotFoundException
     {
@@ -486,17 +490,21 @@
         new ObjectStreamField("permissions", Hashtable.class),
         new ObjectStreamField("all_allowed", Boolean.TYPE),
         new ObjectStreamField("permClass", Class.class),
     };
 
-    /**
+    /*
      * @serialData Default fields.
      */
-    /*
+
+    /**
      * Writes the contents of the perms field out as a Hashtable for
      * serialization compatibility with earlier releases. all_allowed
      * and permClass unchanged.
+     *
+     * @param  out the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     @java.io.Serial
     private void writeObject(ObjectOutputStream out) throws IOException {
         // Don't call out.defaultWriteObject()
 
@@ -515,10 +523,14 @@
     }
 
     /**
      * readObject is called to restore the state of the
      * BasicPermissionCollection from a stream.
+     *
+     * @param  in the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     @java.io.Serial
     private void readObject(java.io.ObjectInputStream in)
          throws IOException, ClassNotFoundException
     {
diff a/src/java.base/share/classes/java/security/CodeSigner.java b/src/java.base/share/classes/java/security/CodeSigner.java
--- a/src/java.base/share/classes/java/security/CodeSigner.java
+++ b/src/java.base/share/classes/java/security/CodeSigner.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -46,11 +46,11 @@
      *
      * @serial
      */
     private CertPath signerCertPath;
 
-    /*
+    /**
      * The signature timestamp.
      *
      * @serial
      */
     private Timestamp timestamp;
@@ -163,11 +163,18 @@
         }
         sb.append(")");
         return sb.toString();
     }
 
-    // Explicitly reset hash code value to -1
+    /**
+     * Restores the state of this object from the stream, and explicitly
+     * reset hash code value to -1.
+     *
+     * @param  ois the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
+     */
     @java.io.Serial
     private void readObject(ObjectInputStream ois)
         throws IOException, ClassNotFoundException {
      ois.defaultReadObject();
      myhash = -1;
diff a/src/java.base/share/classes/java/security/CodeSource.java b/src/java.base/share/classes/java/security/CodeSource.java
--- a/src/java.base/share/classes/java/security/CodeSource.java
+++ b/src/java.base/share/classes/java/security/CodeSource.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -520,10 +520,13 @@
      * denoting the certificate type, followed by an
      * {@code int} specifying the length of the certificate encoding,
      * followed by the certificate encoding itself which is written out as an
      * array of bytes. Finally, if any code signers are present then the array
      * of code signers is serialized and written out too.
+     *
+     * @param  oos the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     @java.io.Serial
     private void writeObject(java.io.ObjectOutputStream oos)
         throws IOException
     {
@@ -555,10 +558,14 @@
         }
     }
 
     /**
      * Restores this object from a stream (i.e., deserializes it).
+     *
+     * @param  ois the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     @java.io.Serial
     private void readObject(java.io.ObjectInputStream ois)
         throws IOException, ClassNotFoundException
     {
diff a/src/java.base/share/classes/java/security/GuardedObject.java b/src/java.base/share/classes/java/security/GuardedObject.java
--- a/src/java.base/share/classes/java/security/GuardedObject.java
+++ b/src/java.base/share/classes/java/security/GuardedObject.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -23,10 +23,12 @@
  * questions.
  */
 
 package java.security;
 
+import java.io.IOException;
+
 /**
  * A GuardedObject is an object that is used to protect access to
  * another object.
  *
  * <p>A GuardedObject encapsulates a target object and a Guard object,
@@ -50,14 +52,21 @@
 public class GuardedObject implements java.io.Serializable {
 
     @java.io.Serial
     private static final long serialVersionUID = -5240450096227834308L;
 
+    /**
+     * The object we are guarding.
+     */
     @SuppressWarnings("serial") // Not statically typed as Serializable
-    private Object object; // the object we are guarding
+    private Object object;
+
+    /**
+     * The guard object.
+     */
     @SuppressWarnings("serial") // Not statically typed as Serializable
-    private Guard guard;   // the guard
+    private Guard guard;
 
     /**
      * Constructs a GuardedObject using the specified object and guard.
      * If the Guard object is null, then no restrictions will
      * be placed on who can access the object.
@@ -92,14 +101,17 @@
     }
 
     /**
      * Writes this object out to a stream (i.e., serializes it).
      * We check the guard if there is one.
+     *
+     * @param  oos the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     @java.io.Serial
     private void writeObject(java.io.ObjectOutputStream oos)
-        throws java.io.IOException
+        throws IOException
     {
         if (guard != null)
             guard.checkGuard(object);
 
         oos.defaultWriteObject();
diff a/src/java.base/share/classes/java/security/KeyPair.java b/src/java.base/share/classes/java/security/KeyPair.java
--- a/src/java.base/share/classes/java/security/KeyPair.java
+++ b/src/java.base/share/classes/java/security/KeyPair.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1996, 2020, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -42,11 +42,19 @@
 public final class KeyPair implements java.io.Serializable {
 
     @java.io.Serial
     private static final long serialVersionUID = -7565189502268009837L;
 
+    /**
+     * The private key
+     */
     private PrivateKey privateKey;
+
+    /**
+     *
+     * The public key
+     */
     private PublicKey publicKey;
 
     /**
      * Constructs a key pair from the given public key and private key.
      *
diff a/src/java.base/share/classes/java/security/Permission.java b/src/java.base/share/classes/java/security/Permission.java
--- a/src/java.base/share/classes/java/security/Permission.java
+++ b/src/java.base/share/classes/java/security/Permission.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -66,10 +66,13 @@
 public abstract class Permission implements Guard, java.io.Serializable {
 
     @java.io.Serial
     private static final long serialVersionUID = -5636570222231596674L;
 
+    /**
+     * The permission name.
+     */
     private String name;
 
     /**
      * Constructs a permission with the specified name.
      *
diff a/src/java.base/share/classes/java/security/PermissionCollection.java b/src/java.base/share/classes/java/security/PermissionCollection.java
--- a/src/java.base/share/classes/java/security/PermissionCollection.java
+++ b/src/java.base/share/classes/java/security/PermissionCollection.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -97,11 +97,15 @@
 public abstract class PermissionCollection implements java.io.Serializable {
 
     @java.io.Serial
     private static final long serialVersionUID = -6727011328946861783L;
 
-    // when set, add will throw an exception.
+    /**
+     * Whether this permission collection is read-only.
+     * <p>
+     * If set, the {@code add} method will throw an exception.
+     */
     private volatile boolean readOnly;
 
     /**
      * Constructor for subclasses to call.
      */
diff a/src/java.base/share/classes/java/security/Permissions.java b/src/java.base/share/classes/java/security/Permissions.java
--- a/src/java.base/share/classes/java/security/Permissions.java
+++ b/src/java.base/share/classes/java/security/Permissions.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -574,16 +574,20 @@
     @java.io.Serial
     private static final ObjectStreamField[] serialPersistentFields = {
         new ObjectStreamField("perms", Hashtable.class),
     };
 
-    /**
+    /*
      * @serialData Default fields.
      */
-    /*
+
+    /**
      * Writes the contents of the permsMap field out as a Hashtable for
      * serialization compatibility with earlier releases.
+     *
+     * @param  out the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     @java.io.Serial
     private void writeObject(ObjectOutputStream out) throws IOException {
         // Don't call out.defaultWriteObject()
 
@@ -596,13 +600,17 @@
         ObjectOutputStream.PutField pfields = out.putFields();
         pfields.put("perms", perms);
         out.writeFields();
     }
 
-    /*
+    /**
      * Reads in a Hashtable of Permission/Permission and saves them in the
      * permsMap field.
+     *
+     * @param  in the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     @java.io.Serial
     private void readObject(ObjectInputStream in) throws IOException,
     ClassNotFoundException {
         // Don't call defaultReadObject()
diff a/src/java.base/share/classes/java/security/PrivilegedActionException.java b/src/java.base/share/classes/java/security/PrivilegedActionException.java
--- a/src/java.base/share/classes/java/security/PrivilegedActionException.java
+++ b/src/java.base/share/classes/java/security/PrivilegedActionException.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -96,38 +96,45 @@
 
 
     /**
      * Serializable fields for UndeclaredThrowableException.
      *
-     * @serialField undeclaredThrowable Throwable
+     * @serialField exception Exception the undeclaredThrowable
      */
     @java.io.Serial
     private static final ObjectStreamField[] serialPersistentFields = {
         new ObjectStreamField("exception", Exception.class)
     };
 
-    /*
+    /**
      * Reconstitutes the PrivilegedActionException instance from a stream
      * and initialize the cause properly when deserializing from an older
      * version.
      *
-     * The getException and getCause method returns the private "exception"
+     * <p>The getException and getCause method returns the private "exception"
      * field in the older implementation and PrivilegedActionException::cause
      * was set to null.
+     *
+     * @param  s the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     @java.io.Serial
     private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException {
         ObjectInputStream.GetField fields = s.readFields();
         Exception exception = (Exception) fields.get("exception", null);
         if (exception != null) {
             SharedSecrets.getJavaLangAccess().setCause(this, exception);
         }
     }
 
-    /*
+    /**
      * To maintain compatibility with older implementation, write a serial
      * "exception" field with the cause as the value.
+     *
+     * @param  out the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     @java.io.Serial
     private void writeObject(ObjectOutputStream out) throws IOException {
         ObjectOutputStream.PutField fields = out.putFields();
         fields.put("exception", super.getCause());
diff a/src/java.base/share/classes/java/security/Provider.java b/src/java.base/share/classes/java/security/Provider.java
--- a/src/java.base/share/classes/java/security/Provider.java
+++ b/src/java.base/share/classes/java/security/Provider.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1996, 2020, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -858,10 +858,12 @@
     * its String value will be used to populate both the version string and
     * version number. If {@code versionStr} is not found, but {@code version}
     * is, then its double value will be used to populate both fields.
     *
     * @param in the {@code ObjectInputStream} to read
+    * @throws IOException if an I/O error occurs
+    * @throws ClassNotFoundException if a serialized class cannot be loaded
     * @serial
     */
     @java.io.Serial
     private void readObject(ObjectInputStream in)
                 throws IOException, ClassNotFoundException {
diff a/src/java.base/share/classes/java/security/SecureRandom.java b/src/java.base/share/classes/java/security/SecureRandom.java
--- a/src/java.base/share/classes/java/security/SecureRandom.java
+++ b/src/java.base/share/classes/java/security/SecureRandom.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1996, 2020, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -176,12 +176,12 @@
      * @serial
      * @since 9
      */
     private final boolean threadSafe;
 
-    /*
-     * The algorithm name of null if unknown.
+    /**
+     * The algorithm name or {@code null} if unknown.
      *
      * @serial
      * @since 1.5
      */
     private String algorithm;
diff a/src/java.base/share/classes/java/security/SignedObject.java b/src/java.base/share/classes/java/security/SignedObject.java
--- a/src/java.base/share/classes/java/security/SignedObject.java
+++ b/src/java.base/share/classes/java/security/SignedObject.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -116,21 +116,27 @@
  * @since 1.2
  */
 
 public final class SignedObject implements Serializable {
 
-    @java.io.Serial
+    @Serial
     private static final long serialVersionUID = 720502720485447167L;
 
-    /*
+    /**
      * The original content is "deep copied" in its serialized format
-     * and stored in a byte array.  The signature field is also in the
-     * form of byte array.
+     * and stored in a byte array.
      */
-
     private byte[] content;
+
+    /**
+     * The signature field is stored as a byte array.
+     */
     private byte[] signature;
+
+    /**
+     * The algorithm used to sign the object.
+     */
     private String thealgorithm;
 
     /**
      * Constructs a SignedObject from any Serializable object.
      * The given object is signed with the given signing key, using the
@@ -248,15 +254,19 @@
     }
 
     /**
      * readObject is called to restore the state of the SignedObject from
      * a stream.
+     *
+     * @param  s the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
-    @java.io.Serial
-    private void readObject(java.io.ObjectInputStream s)
-        throws java.io.IOException, ClassNotFoundException {
-            java.io.ObjectInputStream.GetField fields = s.readFields();
+    @Serial
+    private void readObject(ObjectInputStream s)
+        throws IOException, ClassNotFoundException {
+            ObjectInputStream.GetField fields = s.readFields();
             content = ((byte[])fields.get("content", null)).clone();
             signature = ((byte[])fields.get("signature", null)).clone();
             thealgorithm = (String)fields.get("thealgorithm", null);
     }
 }
diff a/src/java.base/share/classes/java/security/Timestamp.java b/src/java.base/share/classes/java/security/Timestamp.java
--- a/src/java.base/share/classes/java/security/Timestamp.java
+++ b/src/java.base/share/classes/java/security/Timestamp.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -153,11 +153,18 @@
         }
         sb.append(")");
         return sb.toString();
     }
 
-    // Explicitly reset hash code value to -1
+    /**
+     * Restores the state of this object from the stream, and explicitly
+     * reset hash code value to -1
+     *
+     * @param  ois the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
+     */
     @java.io.Serial
     private void readObject(ObjectInputStream ois)
         throws IOException, ClassNotFoundException {
         ois.defaultReadObject();
         myhash = -1;
diff a/src/java.base/share/classes/java/security/UnresolvedPermission.java b/src/java.base/share/classes/java/security/UnresolvedPermission.java
--- a/src/java.base/share/classes/java/security/UnresolvedPermission.java
+++ b/src/java.base/share/classes/java/security/UnresolvedPermission.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -519,10 +519,13 @@
      * Each certificate is written out starting with a {@code String}
      * denoting the certificate type, followed by an
      * {@code int} specifying the length of the certificate encoding,
      * followed by the certificate encoding itself which is written out as an
      * array of bytes.
+     *
+     * @param  oos the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     @java.io.Serial
     private void writeObject(java.io.ObjectOutputStream oos)
         throws IOException
     {
@@ -548,10 +551,14 @@
         }
     }
 
     /**
      * Restores this object from a stream (i.e., deserializes it).
+     *
+     * @param  ois the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     @java.io.Serial
     private void readObject(java.io.ObjectInputStream ois)
         throws IOException, ClassNotFoundException
     {
diff a/src/java.base/share/classes/java/security/UnresolvedPermissionCollection.java b/src/java.base/share/classes/java/security/UnresolvedPermissionCollection.java
--- a/src/java.base/share/classes/java/security/UnresolvedPermissionCollection.java
+++ b/src/java.base/share/classes/java/security/UnresolvedPermissionCollection.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -152,17 +152,21 @@
     @java.io.Serial
     private static final ObjectStreamField[] serialPersistentFields = {
         new ObjectStreamField("permissions", Hashtable.class),
     };
 
-    /**
+    /*
      * @serialData Default field.
      */
-    /*
+
+    /**
      * Writes the contents of the perms field out as a Hashtable
      * in which the values are Vectors for
      * serialization compatibility with earlier releases.
+     *
+     * @param  out the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     @java.io.Serial
     private void writeObject(ObjectOutputStream out) throws IOException {
         // Don't call out.defaultWriteObject()
 
@@ -185,13 +189,17 @@
         ObjectOutputStream.PutField pfields = out.putFields();
         pfields.put("permissions", permissions);
         out.writeFields();
     }
 
-    /*
+    /**
      * Reads in a Hashtable in which the values are Vectors of
      * UnresolvedPermissions and saves them in the perms field.
+     *
+     * @param  in the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     @java.io.Serial
     private void readObject(ObjectInputStream in) throws IOException,
     ClassNotFoundException {
         // Don't call defaultReadObject()
diff a/src/java.base/share/classes/java/security/cert/CertPath.java b/src/java.base/share/classes/java/security/cert/CertPath.java
--- a/src/java.base/share/classes/java/security/cert/CertPath.java
+++ b/src/java.base/share/classes/java/security/cert/CertPath.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -120,11 +120,12 @@
 public abstract class CertPath implements Serializable {
 
     @java.io.Serial
     private static final long serialVersionUID = 6068470306649138683L;
 
-    private String type;        // the type of certificates in this chain
+    /** The type of certificates in this chain. */
+    private String type;
 
     /**
      * Creates a {@code CertPath} of the specified type.
      * <p>
      * This constructor is protected because most users should use a
diff a/src/java.base/share/classes/java/security/cert/CertPathValidatorException.java b/src/java.base/share/classes/java/security/cert/CertPathValidatorException.java
--- a/src/java.base/share/classes/java/security/cert/CertPathValidatorException.java
+++ b/src/java.base/share/classes/java/security/cert/CertPathValidatorException.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -227,10 +227,17 @@
      */
     public Reason getReason() {
         return this.reason;
     }
 
+    /**
+     * Restores the state of this object from the stream.
+     *
+     * @param  stream the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
+     */
     @java.io.Serial
     private void readObject(ObjectInputStream stream)
         throws ClassNotFoundException, IOException {
         stream.defaultReadObject();
         if (reason == null) {
diff a/src/java.base/share/classes/java/security/cert/Certificate.java b/src/java.base/share/classes/java/security/cert/Certificate.java
--- a/src/java.base/share/classes/java/security/cert/Certificate.java
+++ b/src/java.base/share/classes/java/security/cert/Certificate.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -63,14 +63,14 @@
 public abstract class Certificate implements java.io.Serializable {
 
     @java.io.Serial
     private static final long serialVersionUID = -3585440601605666277L;
 
-    // the certificate type
+    /** The certificate type. */
     private final String type;
 
-    /** Cache the hash code for the certiticate */
+    /** Cache the hash code for the certiticate. */
     private int hash = -1; // Default to -1
 
     /**
      * Creates a certificate of the specified type.
      *
@@ -242,11 +242,14 @@
     protected static class CertificateRep implements java.io.Serializable {
 
         @java.io.Serial
         private static final long serialVersionUID = -8563758940495660020L;
 
+        /** The standard name of the certificate type. */
         private String type;
+
+        /** The certificate data. */
         private byte[] data;
 
         /**
          * Construct the alternate Certificate class with the Certificate
          * type and Certificate encoding bytes.
diff a/src/java.base/share/classes/java/security/cert/CertificateRevokedException.java b/src/java.base/share/classes/java/security/cert/CertificateRevokedException.java
--- a/src/java.base/share/classes/java/security/cert/CertificateRevokedException.java
+++ b/src/java.base/share/classes/java/security/cert/CertificateRevokedException.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -190,10 +190,13 @@
      * @serialData the size of the extensions map (int), followed by all of
      * the extensions in the map, in no particular order. For each extension,
      * the following data is emitted: the OID String (Object), the criticality
      * flag (boolean), the length of the encoded extension value byte array
      * (int), and the encoded extension value bytes.
+     *
+     * @param  oos the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     @java.io.Serial
     private void writeObject(ObjectOutputStream oos) throws IOException {
         // Write out the non-transient fields
         // (revocationDate, reason, authority)
@@ -217,10 +220,14 @@
         }
     }
 
     /**
      * Deserialize the {@code CertificateRevokedException} instance.
+     *
+     * @param  ois the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     @java.io.Serial
     private void readObject(ObjectInputStream ois)
         throws IOException, ClassNotFoundException {
         // Read in the non-transient fields
diff a/src/java.base/share/classes/java/util/Random.java b/src/java.base/share/classes/java/util/Random.java
--- a/src/java.base/share/classes/java/util/Random.java
+++ b/src/java.base/share/classes/java/util/Random.java
@@ -1177,10 +1177,14 @@
     };
 
     /**
      * Reconstitute the {@code Random} instance from a stream (that is,
      * deserialize it).
+     *
+     * @param  s the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     @java.io.Serial
     private void readObject(java.io.ObjectInputStream s)
         throws java.io.IOException, ClassNotFoundException {
 
@@ -1197,10 +1201,13 @@
         haveNextNextGaussian = fields.get("haveNextNextGaussian", false);
     }
 
     /**
      * Save the {@code Random} instance to a stream.
+     *
+     * @param  s the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     @java.io.Serial
     private synchronized void writeObject(ObjectOutputStream s)
         throws IOException {
 
diff a/src/java.base/share/classes/javax/crypto/SealedObject.java b/src/java.base/share/classes/javax/crypto/SealedObject.java
--- a/src/java.base/share/classes/javax/crypto/SealedObject.java
+++ b/src/java.base/share/classes/javax/crypto/SealedObject.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -419,12 +419,15 @@
         }
     }
 
     /**
      * Restores the state of the SealedObject from a stream.
+     *
      * @param s the object input stream.
-     * @exception NullPointerException if s is null.
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
+     * @throws NullPointerException if s is null.
      */
     @java.io.Serial
     private void readObject(java.io.ObjectInputStream s)
         throws java.io.IOException, ClassNotFoundException
     {
diff a/src/java.base/share/classes/javax/security/auth/PrivateCredentialPermission.java b/src/java.base/share/classes/javax/security/auth/PrivateCredentialPermission.java
--- a/src/java.base/share/classes/javax/security/auth/PrivateCredentialPermission.java
+++ b/src/java.base/share/classes/javax/security/auth/PrivateCredentialPermission.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -24,10 +24,11 @@
  */
 
 package javax.security.auth;
 
 import java.util.*;
+import java.io.IOException;
 import java.text.MessageFormat;
 import java.security.Permission;
 import java.security.PermissionCollection;
 import java.security.Principal;
 import sun.security.util.ResourcesMgr;
@@ -473,14 +474,18 @@
         return true;
     }
 
     /**
      * Reads this object from a stream (i.e., deserializes it)
+     *
+     * @param  s the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     @java.io.Serial
     private void readObject(java.io.ObjectInputStream s) throws
-                                        java.io.IOException,
+                                        IOException,
                                         ClassNotFoundException {
 
         s.defaultReadObject();
 
         // perform new initialization from the permission name
diff a/src/java.base/share/classes/javax/security/auth/Subject.java b/src/java.base/share/classes/javax/security/auth/Subject.java
--- a/src/java.base/share/classes/javax/security/auth/Subject.java
+++ b/src/java.base/share/classes/javax/security/auth/Subject.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -947,10 +947,13 @@
         }
     }
 
     /**
      * Writes this object out to a stream (i.e., serializes it).
+     *
+     * @param  oos the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     @java.io.Serial
     private void writeObject(java.io.ObjectOutputStream oos)
                 throws java.io.IOException {
         synchronized(principals) {
@@ -958,10 +961,14 @@
         }
     }
 
     /**
      * Reads this object from a stream (i.e., deserializes it)
+     *
+     * @param  s the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     @SuppressWarnings("unchecked")
     @java.io.Serial
     private void readObject(java.io.ObjectInputStream s)
                 throws java.io.IOException, ClassNotFoundException {
@@ -1406,10 +1413,13 @@
          * @serialData If this is a private credential set,
          *      a security check is performed to ensure that
          *      the caller has permission to access each credential
          *      in the set.  If the security check passes,
          *      the set is serialized.
+         *
+         * @param  oos the {@code ObjectOutputStream} to which data is written
+         * @throws IOException if an I/O error occurs
          */
         @java.io.Serial
         private void writeObject(java.io.ObjectOutputStream oos)
                 throws java.io.IOException {
 
@@ -1425,10 +1435,17 @@
             fields.put("elements", elements);
             fields.put("which", which);
             oos.writeFields();
         }
 
+        /**
+         * Restores the state of this object from the stream.
+         *
+         * @param  ois the {@code ObjectInputStream} from which data is read
+         * @throws IOException if an I/O error occurs
+         * @throws ClassNotFoundException if a serialized class cannot be loaded
+         */
         @SuppressWarnings("unchecked")
         @java.io.Serial
         private void readObject(ObjectInputStream ois)
             throws IOException, ClassNotFoundException
         {
diff a/src/java.base/share/classes/javax/security/auth/x500/X500Principal.java b/src/java.base/share/classes/javax/security/auth/x500/X500Principal.java
--- a/src/java.base/share/classes/javax/security/auth/x500/X500Principal.java
+++ b/src/java.base/share/classes/javax/security/auth/x500/X500Principal.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -492,19 +492,27 @@
      * Save the X500Principal object to a stream.
      *
      * @serialData this {@code X500Principal} is serialized
      *          by writing out its DER-encoded form
      *          (the value of {@code getEncoded} is serialized).
+     *
+     * @param  s the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     @java.io.Serial
     private void writeObject(java.io.ObjectOutputStream s)
         throws IOException {
         s.writeObject(thisX500Name.getEncodedInternal());
     }
 
     /**
      * Reads this object from a stream (i.e., deserializes it).
+     *
+     * @param  s the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws NotActiveException if serialization is not active
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     @java.io.Serial
     private void readObject(java.io.ObjectInputStream s)
         throws java.io.IOException,
                java.io.NotActiveException,
diff a/src/java.security.jgss/share/classes/javax/security/auth/kerberos/DelegationPermission.java b/src/java.security.jgss/share/classes/javax/security/auth/kerberos/DelegationPermission.java
--- a/src/java.security.jgss/share/classes/javax/security/auth/kerberos/DelegationPermission.java
+++ b/src/java.security.jgss/share/classes/javax/security/auth/kerberos/DelegationPermission.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -216,20 +216,27 @@
 
     /**
      * WriteObject is called to save the state of the DelegationPermission
      * to a stream. The actions are serialized, and the superclass
      * takes care of the name.
+     *
+     * @param  s the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     private synchronized void writeObject(java.io.ObjectOutputStream s)
         throws IOException
     {
         s.defaultWriteObject();
     }
 
     /**
      * readObject is called to restore the state of the
      * DelegationPermission from a stream.
+     *
+     * @param  s the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     private synchronized void readObject(java.io.ObjectInputStream s)
          throws IOException, ClassNotFoundException
     {
         // Read in the action, then initialize the rest
diff a/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java b/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java
--- a/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java
+++ b/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -263,10 +263,13 @@
     }
 
     /**
      * Save the {@code KerberosPrincipal} object to a stream
      *
+     * @param  oos the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
+     *
      * @serialData this {@code KerberosPrincipal} is serialized
      *          by writing out the PrincipalName and the
      *          Realm in their DER-encoded form as specified in Section 5.2.2 of
      *          <a href=http://www.ietf.org/rfc/rfc4120.txt> RFC4120</a>.
      */
@@ -283,10 +286,14 @@
         }
     }
 
     /**
      * Reads this object from a stream (i.e., deserializes it)
+     *
+     * @param  ois the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     private void readObject(ObjectInputStream ois)
             throws IOException, ClassNotFoundException {
         byte[] asn1EncPrincipal = (byte [])ois.readObject();
         byte[] encRealm = (byte [])ois.readObject();
diff a/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java b/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java
--- a/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java
+++ b/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -837,10 +837,17 @@
         }
 
         return true;
     }
 
+    /**
+     * Restores the state of this object from the stream.
+     *
+     * @param  s the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
+     */
     private void readObject(ObjectInputStream s)
             throws IOException, ClassNotFoundException {
         s.defaultReadObject();
         if (sessionKey == null) {
            throw new InvalidObjectException("Session key cannot be null");
diff a/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KeyImpl.java b/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KeyImpl.java
--- a/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KeyImpl.java
+++ b/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KeyImpl.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -174,31 +174,43 @@
     public boolean isDestroyed() {
         return destroyed;
     }
 
     /**
+     * Writes the state of this object to the stream.
+
      * @serialData this {@code KeyImpl} is serialized by
      * writing out the ASN1 Encoded bytes of the encryption key.
      * The ASN1 encoding is defined in RFC4120 and as  follows:
      * EncryptionKey   ::= SEQUENCE {
      *          keytype    [0] Int32 -- actually encryption type --,
      *          keyvalue   [1] OCTET STRING
+     *
+     * @param  oos the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      * }
      */
-    private void writeObject(ObjectOutputStream ois)
+    private void writeObject(ObjectOutputStream oos)
                 throws IOException {
         if (destroyed) {
            throw new IOException("This key is no longer valid");
         }
 
         try {
-           ois.writeObject((new EncryptionKey(keyType, keyBytes)).asn1Encode());
+           oos.writeObject((new EncryptionKey(keyType, keyBytes)).asn1Encode());
         } catch (Asn1Exception ae) {
            throw new IOException(ae.getMessage());
         }
     }
 
+    /**
+     * Restores the state of this object from the stream.
+     *
+     * @param  ois the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
+     */
     private void readObject(ObjectInputStream ois)
                 throws IOException, ClassNotFoundException {
         try {
             EncryptionKey encKey = new EncryptionKey(new
                                      DerValue((byte[])ois.readObject()));
diff a/src/java.security.jgss/share/classes/javax/security/auth/kerberos/ServicePermission.java b/src/java.security.jgss/share/classes/javax/security/auth/kerberos/ServicePermission.java
--- a/src/java.security.jgss/share/classes/javax/security/auth/kerberos/ServicePermission.java
+++ b/src/java.security.jgss/share/classes/javax/security/auth/kerberos/ServicePermission.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -423,10 +423,13 @@
 
     /**
      * WriteObject is called to save the state of the ServicePermission
      * to a stream. The actions are serialized, and the superclass
      * takes care of the name.
+     *
+     * @param  s the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
      */
     private void writeObject(java.io.ObjectOutputStream s)
         throws IOException
     {
         // Write out the actions. The superclass takes care of the name
@@ -437,10 +440,14 @@
     }
 
     /**
      * readObject is called to restore the state of the
      * ServicePermission from a stream.
+     *
+     * @param  s the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
      */
     private void readObject(java.io.ObjectInputStream s)
          throws IOException, ClassNotFoundException
     {
         // Read in the action, then initialize the rest
diff a/src/java.smartcardio/share/classes/javax/smartcardio/ATR.java b/src/java.smartcardio/share/classes/javax/smartcardio/ATR.java
--- a/src/java.smartcardio/share/classes/javax/smartcardio/ATR.java
+++ b/src/java.smartcardio/share/classes/javax/smartcardio/ATR.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -24,10 +24,11 @@
  */
 
 package javax.smartcardio;
 
 import java.util.*;
+import java.io.IOException;
 
 /**
  * A Smart Card's answer-to-reset bytes. A Card's ATR object can be obtained
  * by calling {@linkplain Card#getATR}.
  * This class does not attempt to verify that the ATR encodes a semantically
@@ -44,10 +45,13 @@
  */
 public final class ATR implements java.io.Serializable {
 
     private static final long serialVersionUID = 6695383790847736493L;
 
+    /**
+     * The internal answer-to-reset byte array.
+     */
     private byte[] atr;
 
     private transient int startHistorical, nHistorical;
 
     /**
@@ -154,12 +158,19 @@
      */
     public int hashCode() {
         return Arrays.hashCode(atr);
     }
 
+    /**
+     * Restores the state of this object from the stream.
+     *
+     * @param  in the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
+     */
     private void readObject(java.io.ObjectInputStream in)
-            throws java.io.IOException, ClassNotFoundException {
+            throws IOException, ClassNotFoundException {
         atr = (byte[])in.readUnshared();
         parse();
     }
 
 }
diff a/src/java.smartcardio/share/classes/javax/smartcardio/CardPermission.java b/src/java.smartcardio/share/classes/javax/smartcardio/CardPermission.java
--- a/src/java.smartcardio/share/classes/javax/smartcardio/CardPermission.java
+++ b/src/java.smartcardio/share/classes/javax/smartcardio/CardPermission.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -278,15 +278,28 @@
      */
     public int hashCode() {
         return getName().hashCode() + 31 * mask;
     }
 
+    /**
+     * Writes the state of this object to the stream.
+     *
+     * @param  s the {@code ObjectOutputStream} to which data is written
+     * @throws IOException if an I/O error occurs
+     */
     private void writeObject(ObjectOutputStream s) throws IOException {
         // Write out the actions. The superclass takes care of the name.
         s.defaultWriteObject();
     }
 
+    /**
+     * Restores the state of this object from the stream.
+     *
+     * @param  s the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
+     */
     private void readObject(ObjectInputStream s)
             throws IOException, ClassNotFoundException {
         // Read in the actions, then restore the mask.
         s.defaultReadObject();
         mask = getMask(actions);
diff a/src/java.smartcardio/share/classes/javax/smartcardio/CommandAPDU.java b/src/java.smartcardio/share/classes/javax/smartcardio/CommandAPDU.java
--- a/src/java.smartcardio/share/classes/javax/smartcardio/CommandAPDU.java
+++ b/src/java.smartcardio/share/classes/javax/smartcardio/CommandAPDU.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -26,10 +26,11 @@
 package javax.smartcardio;
 
 import java.util.Arrays;
 
 import java.nio.ByteBuffer;
+import java.io.IOException;
 
 /**
  * A command APDU following the structure defined in ISO/IEC 7816-4.
  * It consists of a four byte header and a conditional body of variable length.
  * This class does not attempt to verify that the APDU encodes a semantically
@@ -594,12 +595,20 @@
      */
     public int hashCode() {
         return Arrays.hashCode(apdu);
     }
 
+
+    /**
+     * Restores the state of this object from the stream.
+     *
+     * @param  in the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
+     */
     private void readObject(java.io.ObjectInputStream in)
-            throws java.io.IOException, ClassNotFoundException {
+            throws IOException, ClassNotFoundException {
         apdu = (byte[])in.readUnshared();
         // initialize transient fields
         parse();
     }
 
diff a/src/java.smartcardio/share/classes/javax/smartcardio/ResponseAPDU.java b/src/java.smartcardio/share/classes/javax/smartcardio/ResponseAPDU.java
--- a/src/java.smartcardio/share/classes/javax/smartcardio/ResponseAPDU.java
+++ b/src/java.smartcardio/share/classes/javax/smartcardio/ResponseAPDU.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -24,10 +24,11 @@
  */
 
 package javax.smartcardio;
 
 import java.util.Arrays;
+import java.io.IOException;
 
 /**
  * A response APDU as defined in ISO/IEC 7816-4. It consists of a conditional
  * body and a two byte trailer.
  * This class does not attempt to verify that the APDU encodes a semantically
@@ -174,12 +175,19 @@
      */
     public int hashCode() {
         return Arrays.hashCode(apdu);
     }
 
+    /**
+     * Restores the state of this object from the stream.
+     *
+     * @param  in the {@code ObjectInputStream} from which data is read
+     * @throws IOException if an I/O error occurs
+     * @throws ClassNotFoundException if a serialized class cannot be loaded
+     */
     private void readObject(java.io.ObjectInputStream in)
-            throws java.io.IOException, ClassNotFoundException {
+            throws IOException, ClassNotFoundException {
         apdu = (byte[])in.readUnshared();
         check(apdu);
     }
 
 }
diff a/src/java.xml.crypto/share/classes/javax/xml/crypto/URIReferenceException.java b/src/java.xml.crypto/share/classes/javax/xml/crypto/URIReferenceException.java
--- a/src/java.xml.crypto/share/classes/javax/xml/crypto/URIReferenceException.java
+++ b/src/java.xml.crypto/share/classes/javax/xml/crypto/URIReferenceException.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -55,10 +55,14 @@
      *
      * @serial
      */
     private Throwable cause;
 
+    /**
+     * The {@code URIReference} that was being dereferenced
+     * when the exception was thrown, or {@code null} if not specified.
+     */
     private URIReference uriReference;
 
     /**
      * Constructs a new {@code URIReferenceException} with
      * {@code null} as its detail message.
diff a/src/jdk.security.auth/share/classes/com/sun/security/auth/PrincipalComparator.java b/src/jdk.security.auth/share/classes/com/sun/security/auth/PrincipalComparator.java
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/PrincipalComparator.java
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/PrincipalComparator.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -53,10 +53,12 @@
 public interface PrincipalComparator {
     /**
      * Check if the specified {@code Subject} is implied by
      * this object.
      *
+     * @param  subject the subject to compare
+     *
      * @return true if the specified {@code Subject} is implied by
      *          this object, or false otherwise.
      */
     boolean implies(javax.security.auth.Subject subject);
 }
diff a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -149,12 +149,20 @@
  * </pre>
  *
  */
 public class JndiLoginModule implements LoginModule {
 
-    /** JNDI Provider */
+    /**
+     * Directory service/path where this module can access the relevent
+     * user information.
+     */
     public final String USER_PROVIDER = "user.provider.url";
+
+    /**
+     * Directory service/path where this module can access the relevent
+     * group information.
+     */
     public final String GROUP_PROVIDER = "group.provider.url";
 
     // configurable options
     private boolean debug = false;
     private boolean strongDebug = false;
diff a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixSystem.java b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixSystem.java
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixSystem.java
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixSystem.java
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this
@@ -32,13 +32,21 @@
 public class UnixSystem {
 
     private native void getUnixInfo();
 
     // Warning: the following 4 fields are used by Unix.c
+
+    /** The current username. */
     protected String username;
+
+    /** The current user ID. */
     protected long uid;
+
+    /** The current group ID. */
     protected long gid;
+
+    /** The current list of groups. */
     protected long[] groups;
 
     /**
      * Instantiate a {@code UnixSystem} and load
      * the native library to access the underlying system information.
