changeset 11862:da166bf1c13d

Merge
author prr
date Wed, 29 Apr 2015 08:52:47 -0700
parents 4af319de0ebe 3049fc819ac2
children e16b52d3da99
files
diffstat 55 files changed, 1223 insertions(+), 1416 deletions(-) [+]
line wrap: on
line diff
--- a/src/java.base/share/classes/java/lang/Runtime.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.base/share/classes/java/lang/Runtime.java	Wed Apr 29 08:52:47 2015 -0700
@@ -32,9 +32,9 @@
 
 /**
  * Every Java application has a single instance of class
- * <code>Runtime</code> that allows the application to interface with
+ * {@code Runtime} that allows the application to interface with
  * the environment in which the application is running. The current
- * runtime can be obtained from the <code>getRuntime</code> method.
+ * runtime can be obtained from the {@code getRuntime} method.
  * <p>
  * An application cannot create its own instance of this class.
  *
@@ -48,10 +48,10 @@
 
     /**
      * Returns the runtime object associated with the current Java application.
-     * Most of the methods of class <code>Runtime</code> are instance
+     * Most of the methods of class {@code Runtime} are instance
      * methods and must be invoked with respect to the current runtime object.
      *
-     * @return  the <code>Runtime</code> object associated with the current
+     * @return  the {@code Runtime} object associated with the current
      *          Java application.
      */
     public static Runtime getRuntime() {
@@ -72,8 +72,7 @@
      * if any, are started in some unspecified order and allowed to run
      * concurrently until they finish.  In the second phase all uninvoked
      * finalizers are run if {@link #runFinalizersOnExit finalization-on-exit}
-     * has been enabled.  Once this is done the virtual machine {@link #halt
-     * halts}.
+     * has been enabled.  Once this is done the virtual machine {@link #halt halts}.
      *
      * <p> If this method is invoked after the virtual machine has begun its
      * shutdown sequence then if shutdown hooks are being run this method will
@@ -82,7 +81,7 @@
      * with the given status code if the status is nonzero; otherwise, it
      * blocks indefinitely.
      *
-     * <p> The <tt>{@link System#exit(int) System.exit}</tt> method is the
+     * <p> The {@link System#exit(int) System.exit} method is the
      * conventional and convenient means of invoking this method.
      *
      * @param  status
@@ -90,8 +89,8 @@
      *         indicates abnormal termination.
      *
      * @throws SecurityException
-     *         If a security manager is present and its <tt>{@link
-     *         SecurityManager#checkExit checkExit}</tt> method does not permit
+     *         If a security manager is present and its
+     *         {@link SecurityManager#checkExit checkExit} method does not permit
      *         exiting with the specified status
      *
      * @see java.lang.SecurityException
@@ -118,11 +117,11 @@
      *   <ul>
      *
      *   <li> The program <i>exits</i> normally, when the last non-daemon
-     *   thread exits or when the <tt>{@link #exit exit}</tt> (equivalently,
+     *   thread exits or when the {@link #exit exit} (equivalently,
      *   {@link System#exit(int) System.exit}) method is invoked, or
      *
      *   <li> The virtual machine is <i>terminated</i> in response to a
-     *   user interrupt, such as typing <tt>^C</tt>, or a system-wide event,
+     *   user interrupt, such as typing {@code ^C}, or a system-wide event,
      *   such as user logoff or system shutdown.
      *
      *   </ul>
@@ -134,17 +133,16 @@
      * run all uninvoked finalizers if finalization-on-exit has been enabled.
      * Finally, the virtual machine will halt.  Note that daemon threads will
      * continue to run during the shutdown sequence, as will non-daemon threads
-     * if shutdown was initiated by invoking the <tt>{@link #exit exit}</tt>
-     * method.
+     * if shutdown was initiated by invoking the {@link #exit exit} method.
      *
      * <p> Once the shutdown sequence has begun it can be stopped only by
-     * invoking the <tt>{@link #halt halt}</tt> method, which forcibly
+     * invoking the {@link #halt halt} method, which forcibly
      * terminates the virtual machine.
      *
      * <p> Once the shutdown sequence has begun it is impossible to register a
      * new shutdown hook or de-register a previously-registered hook.
      * Attempting either of these operations will cause an
-     * <tt>{@link IllegalStateException}</tt> to be thrown.
+     * {@link IllegalStateException} to be thrown.
      *
      * <p> Shutdown hooks run at a delicate time in the life cycle of a virtual
      * machine and should therefore be coded defensively.  They should, in
@@ -156,7 +154,7 @@
      * deadlocks.
      *
      * <p> Shutdown hooks should also finish their work quickly.  When a
-     * program invokes <tt>{@link #exit exit}</tt> the expectation is
+     * program invokes {@link #exit exit} the expectation is
      * that the virtual machine will promptly shut down and exit.  When the
      * virtual machine is terminated due to user logoff or system shutdown the
      * underlying operating system may only allow a fixed amount of time in
@@ -165,17 +163,17 @@
      * hook.
      *
      * <p> Uncaught exceptions are handled in shutdown hooks just as in any
-     * other thread, by invoking the <tt>{@link ThreadGroup#uncaughtException
-     * uncaughtException}</tt> method of the thread's <tt>{@link
-     * ThreadGroup}</tt> object.  The default implementation of this method
-     * prints the exception's stack trace to <tt>{@link System#err}</tt> and
+     * other thread, by invoking the
+     * {@link ThreadGroup#uncaughtException uncaughtException} method of the
+     * thread's {@link ThreadGroup} object. The default implementation of this
+     * method prints the exception's stack trace to {@link System#err} and
      * terminates the thread; it does not cause the virtual machine to exit or
      * halt.
      *
      * <p> In rare circumstances the virtual machine may <i>abort</i>, that is,
      * stop running without shutting down cleanly.  This occurs when the
      * virtual machine is terminated externally, for example with the
-     * <tt>SIGKILL</tt> signal on Unix or the <tt>TerminateProcess</tt> call on
+     * {@code SIGKILL} signal on Unix or the {@code TerminateProcess} call on
      * Microsoft Windows.  The virtual machine may also abort if a native
      * method goes awry by, for example, corrupting internal data structures or
      * attempting to access nonexistent memory.  If the virtual machine aborts
@@ -183,7 +181,7 @@
      * will be run.
      *
      * @param   hook
-     *          An initialized but unstarted <tt>{@link Thread}</tt> object
+     *          An initialized but unstarted {@link Thread} object
      *
      * @throws  IllegalArgumentException
      *          If the specified hook has already been registered,
@@ -196,7 +194,7 @@
      *
      * @throws  SecurityException
      *          If a security manager is present and it denies
-     *          <tt>{@link RuntimePermission}("shutdownHooks")</tt>
+     *          {@link RuntimePermission}("shutdownHooks")
      *
      * @see #removeShutdownHook
      * @see #halt(int)
@@ -212,11 +210,11 @@
     }
 
     /**
-     * De-registers a previously-registered virtual-machine shutdown hook. <p>
+     * De-registers a previously-registered virtual-machine shutdown hook.
      *
      * @param hook the hook to remove
-     * @return <tt>true</tt> if the specified hook had previously been
-     * registered and was successfully de-registered, <tt>false</tt>
+     * @return {@code true} if the specified hook had previously been
+     * registered and was successfully de-registered, {@code false}
      * otherwise.
      *
      * @throws  IllegalStateException
@@ -225,7 +223,7 @@
      *
      * @throws  SecurityException
      *          If a security manager is present and it denies
-     *          <tt>{@link RuntimePermission}("shutdownHooks")</tt>
+     *          {@link RuntimePermission}("shutdownHooks")
      *
      * @see #addShutdownHook
      * @see #exit(int)
@@ -244,23 +242,23 @@
      * method never returns normally.
      *
      * <p> This method should be used with extreme caution.  Unlike the
-     * <tt>{@link #exit exit}</tt> method, this method does not cause shutdown
+     * {@link #exit exit} method, this method does not cause shutdown
      * hooks to be started and does not run uninvoked finalizers if
      * finalization-on-exit has been enabled.  If the shutdown sequence has
      * already been initiated then this method does not wait for any running
      * shutdown hooks or finalizers to finish their work.
      *
      * @param  status
-     *         Termination status.  By convention, a nonzero status code
-     *         indicates abnormal termination.  If the <tt>{@link Runtime#exit
-     *         exit}</tt> (equivalently, <tt>{@link System#exit(int)
-     *         System.exit}</tt>) method has already been invoked then this
-     *         status code will override the status code passed to that method.
+     *         Termination status. By convention, a nonzero status code
+     *         indicates abnormal termination. If the {@link Runtime#exit exit}
+     *         (equivalently, {@link System#exit(int) System.exit}) method
+     *         has already been invoked then this status code
+     *         will override the status code passed to that method.
      *
      * @throws SecurityException
-     *         If a security manager is present and its <tt>{@link
-     *         SecurityManager#checkExit checkExit}</tt> method does not permit
-     *         an exit with the specified status
+     *         If a security manager is present and its
+     *         {@link SecurityManager#checkExit checkExit} method
+     *         does not permit an exit with the specified status
      *
      * @see #exit
      * @see #addShutdownHook
@@ -282,7 +280,7 @@
      * By default, finalization on exit is disabled.
      *
      * <p>If there is a security manager,
-     * its <code>checkExit</code> method is first called
+     * its {@code checkExit} method is first called
      * with 0 as its argument to ensure the exit is allowed.
      * This could result in a SecurityException.
      *
@@ -293,7 +291,7 @@
      *      behavior or deadlock.
      *
      * @throws  SecurityException
-     *        if a security manager exists and its <code>checkExit</code>
+     *        if a security manager exists and its {@code checkExit}
      *        method doesn't allow the exit.
      *
      * @see     java.lang.Runtime#exit(int)
@@ -318,9 +316,9 @@
      * Executes the specified string command in a separate process.
      *
      * <p>This is a convenience method.  An invocation of the form
-     * <tt>exec(command)</tt>
+     * {@code exec(command)}
      * behaves in exactly the same way as the invocation
-     * <tt>{@link #exec(String, String[], File) exec}(command, null, null)</tt>.
+     * {@link #exec(String, String[], File) exec}{@code (command, null, null)}.
      *
      * @param   command   a specified system command.
      *
@@ -335,10 +333,10 @@
      *          If an I/O error occurs
      *
      * @throws  NullPointerException
-     *          If <code>command</code> is <code>null</code>
+     *          If {@code command} is {@code null}
      *
      * @throws  IllegalArgumentException
-     *          If <code>command</code> is empty
+     *          If {@code command} is empty
      *
      * @see     #exec(String[], String[], File)
      * @see     ProcessBuilder
@@ -352,16 +350,16 @@
      * specified environment.
      *
      * <p>This is a convenience method.  An invocation of the form
-     * <tt>exec(command, envp)</tt>
+     * {@code exec(command, envp)}
      * behaves in exactly the same way as the invocation
-     * <tt>{@link #exec(String, String[], File) exec}(command, envp, null)</tt>.
+     * {@link #exec(String, String[], File) exec}{@code (command, envp, null)}.
      *
      * @param   command   a specified system command.
      *
      * @param   envp      array of strings, each element of which
      *                    has environment variable settings in the format
      *                    <i>name</i>=<i>value</i>, or
-     *                    <tt>null</tt> if the subprocess should inherit
+     *                    {@code null} if the subprocess should inherit
      *                    the environment of the current process.
      *
      * @return  A new {@link Process} object for managing the subprocess
@@ -375,11 +373,11 @@
      *          If an I/O error occurs
      *
      * @throws  NullPointerException
-     *          If <code>command</code> is <code>null</code>,
-     *          or one of the elements of <code>envp</code> is <code>null</code>
+     *          If {@code command} is {@code null},
+     *          or one of the elements of {@code envp} is {@code null}
      *
      * @throws  IllegalArgumentException
-     *          If <code>command</code> is empty
+     *          If {@code command} is empty
      *
      * @see     #exec(String[], String[], File)
      * @see     ProcessBuilder
@@ -393,29 +391,29 @@
      * specified environment and working directory.
      *
      * <p>This is a convenience method.  An invocation of the form
-     * <tt>exec(command, envp, dir)</tt>
+     * {@code exec(command, envp, dir)}
      * behaves in exactly the same way as the invocation
-     * <tt>{@link #exec(String[], String[], File) exec}(cmdarray, envp, dir)</tt>,
-     * where <code>cmdarray</code> is an array of all the tokens in
-     * <code>command</code>.
+     * {@link #exec(String[], String[], File) exec}{@code (cmdarray, envp, dir)},
+     * where {@code cmdarray} is an array of all the tokens in
+     * {@code command}.
      *
-     * <p>More precisely, the <code>command</code> string is broken
+     * <p>More precisely, the {@code command} string is broken
      * into tokens using a {@link StringTokenizer} created by the call
-     * <code>new {@link StringTokenizer}(command)</code> with no
+     * {@code new {@link StringTokenizer}(command)} with no
      * further modification of the character categories.  The tokens
      * produced by the tokenizer are then placed in the new string
-     * array <code>cmdarray</code>, in the same order.
+     * array {@code cmdarray}, in the same order.
      *
      * @param   command   a specified system command.
      *
      * @param   envp      array of strings, each element of which
      *                    has environment variable settings in the format
      *                    <i>name</i>=<i>value</i>, or
-     *                    <tt>null</tt> if the subprocess should inherit
+     *                    {@code null} if the subprocess should inherit
      *                    the environment of the current process.
      *
      * @param   dir       the working directory of the subprocess, or
-     *                    <tt>null</tt> if the subprocess should inherit
+     *                    {@code null} if the subprocess should inherit
      *                    the working directory of the current process.
      *
      * @return  A new {@link Process} object for managing the subprocess
@@ -429,11 +427,11 @@
      *          If an I/O error occurs
      *
      * @throws  NullPointerException
-     *          If <code>command</code> is <code>null</code>,
-     *          or one of the elements of <code>envp</code> is <code>null</code>
+     *          If {@code command} is {@code null},
+     *          or one of the elements of {@code envp} is {@code null}
      *
      * @throws  IllegalArgumentException
-     *          If <code>command</code> is empty
+     *          If {@code command} is empty
      *
      * @see     ProcessBuilder
      * @since 1.3
@@ -454,9 +452,9 @@
      * Executes the specified command and arguments in a separate process.
      *
      * <p>This is a convenience method.  An invocation of the form
-     * <tt>exec(cmdarray)</tt>
+     * {@code exec(cmdarray)}
      * behaves in exactly the same way as the invocation
-     * <tt>{@link #exec(String[], String[], File) exec}(cmdarray, null, null)</tt>.
+     * {@link #exec(String[], String[], File) exec}{@code (cmdarray, null, null)}.
      *
      * @param   cmdarray  array containing the command to call and
      *                    its arguments.
@@ -472,12 +470,12 @@
      *          If an I/O error occurs
      *
      * @throws  NullPointerException
-     *          If <code>cmdarray</code> is <code>null</code>,
-     *          or one of the elements of <code>cmdarray</code> is <code>null</code>
+     *          If {@code cmdarray} is {@code null},
+     *          or one of the elements of {@code cmdarray} is {@code null}
      *
      * @throws  IndexOutOfBoundsException
-     *          If <code>cmdarray</code> is an empty array
-     *          (has length <code>0</code>)
+     *          If {@code cmdarray} is an empty array
+     *          (has length {@code 0})
      *
      * @see     ProcessBuilder
      */
@@ -490,9 +488,9 @@
      * with the specified environment.
      *
      * <p>This is a convenience method.  An invocation of the form
-     * <tt>exec(cmdarray, envp)</tt>
+     * {@code exec(cmdarray, envp)}
      * behaves in exactly the same way as the invocation
-     * <tt>{@link #exec(String[], String[], File) exec}(cmdarray, envp, null)</tt>.
+     * {@link #exec(String[], String[], File) exec}{@code (cmdarray, envp, null)}.
      *
      * @param   cmdarray  array containing the command to call and
      *                    its arguments.
@@ -500,7 +498,7 @@
      * @param   envp      array of strings, each element of which
      *                    has environment variable settings in the format
      *                    <i>name</i>=<i>value</i>, or
-     *                    <tt>null</tt> if the subprocess should inherit
+     *                    {@code null} if the subprocess should inherit
      *                    the environment of the current process.
      *
      * @return  A new {@link Process} object for managing the subprocess
@@ -514,13 +512,13 @@
      *          If an I/O error occurs
      *
      * @throws  NullPointerException
-     *          If <code>cmdarray</code> is <code>null</code>,
-     *          or one of the elements of <code>cmdarray</code> is <code>null</code>,
-     *          or one of the elements of <code>envp</code> is <code>null</code>
+     *          If {@code cmdarray} is {@code null},
+     *          or one of the elements of {@code cmdarray} is {@code null},
+     *          or one of the elements of {@code envp} is {@code null}
      *
      * @throws  IndexOutOfBoundsException
-     *          If <code>cmdarray</code> is an empty array
-     *          (has length <code>0</code>)
+     *          If {@code cmdarray} is an empty array
+     *          (has length {@code 0})
      *
      * @see     ProcessBuilder
      */
@@ -533,17 +531,17 @@
      * Executes the specified command and arguments in a separate process with
      * the specified environment and working directory.
      *
-     * <p>Given an array of strings <code>cmdarray</code>, representing the
-     * tokens of a command line, and an array of strings <code>envp</code>,
+     * <p>Given an array of strings {@code cmdarray}, representing the
+     * tokens of a command line, and an array of strings {@code envp},
      * representing "environment" variable settings, this method creates
      * a new process in which to execute the specified command.
      *
-     * <p>This method checks that <code>cmdarray</code> is a valid operating
+     * <p>This method checks that {@code cmdarray} is a valid operating
      * system command.  Which commands are valid is system-dependent,
      * but at the very least the command must be a non-empty list of
      * non-null strings.
      *
-     * <p>If <tt>envp</tt> is <tt>null</tt>, the subprocess inherits the
+     * <p>If {@code envp} is {@code null}, the subprocess inherits the
      * environment settings of the current process.
      *
      * <p>A minimal set of system dependent environment variables may
@@ -554,14 +552,14 @@
      * <p>{@link ProcessBuilder#start()} is now the preferred way to
      * start a process with a modified environment.
      *
-     * <p>The working directory of the new subprocess is specified by <tt>dir</tt>.
-     * If <tt>dir</tt> is <tt>null</tt>, the subprocess inherits the
+     * <p>The working directory of the new subprocess is specified by {@code dir}.
+     * If {@code dir} is {@code null}, the subprocess inherits the
      * current working directory of the current process.
      *
      * <p>If a security manager exists, its
      * {@link SecurityManager#checkExec checkExec}
      * method is invoked with the first component of the array
-     * <code>cmdarray</code> as its argument. This may result in a
+     * {@code cmdarray} as its argument. This may result in a
      * {@link SecurityException} being thrown.
      *
      * <p>Starting an operating system process is highly system-dependent.
@@ -586,11 +584,11 @@
      * @param   envp      array of strings, each element of which
      *                    has environment variable settings in the format
      *                    <i>name</i>=<i>value</i>, or
-     *                    <tt>null</tt> if the subprocess should inherit
+     *                    {@code null} if the subprocess should inherit
      *                    the environment of the current process.
      *
      * @param   dir       the working directory of the subprocess, or
-     *                    <tt>null</tt> if the subprocess should inherit
+     *                    {@code null} if the subprocess should inherit
      *                    the working directory of the current process.
      *
      * @return  A new {@link Process} object for managing the subprocess
@@ -607,13 +605,13 @@
      *          If an I/O error occurs
      *
      * @throws  NullPointerException
-     *          If <code>cmdarray</code> is <code>null</code>,
-     *          or one of the elements of <code>cmdarray</code> is <code>null</code>,
-     *          or one of the elements of <code>envp</code> is <code>null</code>
+     *          If {@code cmdarray} is {@code null},
+     *          or one of the elements of {@code cmdarray} is {@code null},
+     *          or one of the elements of {@code envp} is {@code null}
      *
      * @throws  IndexOutOfBoundsException
-     *          If <code>cmdarray</code> is an empty array
-     *          (has length <code>0</code>)
+     *          If {@code cmdarray} is an empty array
+     *          (has length {@code 0})
      *
      * @see     ProcessBuilder
      * @since 1.3
@@ -643,8 +641,8 @@
     /**
      * Returns the amount of free memory in the Java Virtual Machine.
      * Calling the
-     * <code>gc</code> method may result in increasing the value returned
-     * by <code>freeMemory.</code>
+     * {@code gc} method may result in increasing the value returned
+     * by {@code freeMemory.}
      *
      * @return  an approximation to the total amount of memory currently
      *          available for future allocated objects, measured in bytes.
@@ -665,9 +663,9 @@
     public native long totalMemory();
 
     /**
-     * Returns the maximum amount of memory that the Java virtual machine will
-     * attempt to use.  If there is no inherent limit then the value {@link
-     * java.lang.Long#MAX_VALUE} will be returned.
+     * Returns the maximum amount of memory that the Java virtual machine
+     * will attempt to use.  If there is no inherent limit then the value
+     * {@link java.lang.Long#MAX_VALUE} will be returned.
      *
      * @return  the maximum amount of memory that the virtual machine will
      *          attempt to use, measured in bytes
@@ -683,10 +681,10 @@
      * returns from the method call, the virtual machine has made
      * its best effort to recycle all discarded objects.
      * <p>
-     * The name <code>gc</code> stands for "garbage
+     * The name {@code gc} stands for "garbage
      * collector". The virtual machine performs this recycling
      * process automatically as needed, in a separate thread, even if the
-     * <code>gc</code> method is not invoked explicitly.
+     * {@code gc} method is not invoked explicitly.
      * <p>
      * The method {@link System#gc()} is the conventional and convenient
      * means of invoking this method.
@@ -699,15 +697,15 @@
     /**
      * Runs the finalization methods of any objects pending finalization.
      * Calling this method suggests that the Java virtual machine expend
-     * effort toward running the <code>finalize</code> methods of objects
-     * that have been found to be discarded but whose <code>finalize</code>
+     * effort toward running the {@code finalize} methods of objects
+     * that have been found to be discarded but whose {@code finalize}
      * methods have not yet been run. When control returns from the
      * method call, the virtual machine has made a best effort to
      * complete all outstanding finalizations.
      * <p>
      * The virtual machine performs the finalization process
      * automatically as needed, in a separate thread, if the
-     * <code>runFinalization</code> method is not invoked explicitly.
+     * {@code runFinalization} method is not invoked explicitly.
      * <p>
      * The method {@link System#runFinalization()} is the conventional
      * and convenient means of invoking this method.
@@ -720,7 +718,7 @@
 
     /**
      * Enables/Disables tracing of instructions.
-     * If the <code>boolean</code> argument is <code>true</code>, this
+     * If the {@code boolean} argument is {@code true}, this
      * method suggests that the Java virtual machine emit debugging
      * information for each instruction in the virtual machine as it
      * is executed. The format of this information, and the file or other
@@ -729,18 +727,18 @@
      * this feature. The destination of the trace output is system
      * dependent.
      * <p>
-     * If the <code>boolean</code> argument is <code>false</code>, this
+     * If the {@code boolean} argument is {@code false}, this
      * method causes the virtual machine to stop performing the
      * detailed instruction trace it is performing.
      *
-     * @param   on   <code>true</code> to enable instruction tracing;
-     *               <code>false</code> to disable this feature.
+     * @param   on   {@code true} to enable instruction tracing;
+     *               {@code false} to disable this feature.
      */
     public void traceInstructions(boolean on) { }
 
     /**
      * Enables/Disables tracing of method calls.
-     * If the <code>boolean</code> argument is <code>true</code>, this
+     * If the {@code boolean} argument is {@code true}, this
      * method suggests that the Java virtual machine emit debugging
      * information for each method in the virtual machine as it is
      * called. The format of this information, and the file or other output
@@ -751,8 +749,8 @@
      * Calling this method with argument false suggests that the
      * virtual machine cease emitting per-call debugging information.
      *
-     * @param   on   <code>true</code> to enable instruction tracing;
-     *               <code>false</code> to disable this feature.
+     * @param   on   {@code true} to enable instruction tracing;
+     *               {@code false} to disable this feature.
      */
     public void traceMethodCalls(boolean on) { }
 
@@ -760,7 +758,7 @@
      * Loads the native library specified by the filename argument.  The filename
      * argument must be an absolute path name.
      * (for example
-     * <code>Runtime.getRuntime().load("/home/avh/lib/libX11.so");</code>).
+     * {@code Runtime.getRuntime().load("/home/avh/lib/libX11.so");}).
      *
      * If the filename argument, when stripped of any platform-specific library
      * prefix, path, and file extension, indicates a library whose name is,
@@ -773,8 +771,8 @@
      * Otherwise, the filename argument is mapped to a native library image in
      * an implementation-dependent manner.
      * <p>
-     * First, if there is a security manager, its <code>checkLink</code>
-     * method is called with the <code>filename</code> as its argument.
+     * First, if there is a security manager, its {@code checkLink}
+     * method is called with the {@code filename} as its argument.
      * This may result in a security exception.
      * <p>
      * This is similar to the method {@link #loadLibrary(String)}, but it
@@ -786,14 +784,14 @@
      *
      * @param      filename   the file to load.
      * @exception  SecurityException  if a security manager exists and its
-     *             <code>checkLink</code> method doesn't allow
+     *             {@code checkLink} method doesn't allow
      *             loading of the specified dynamic library
      * @exception  UnsatisfiedLinkError  if either the filename is not an
      *             absolute path name, the native library is not statically
      *             linked with the VM, or the library cannot be mapped to
      *             a native library image by the host system.
-     * @exception  NullPointerException if <code>filename</code> is
-     *             <code>null</code>
+     * @exception  NullPointerException if {@code filename} is
+     *             {@code null}
      * @see        java.lang.Runtime#getRuntime()
      * @see        java.lang.SecurityException
      * @see        java.lang.SecurityManager#checkLink(java.lang.String)
@@ -816,26 +814,26 @@
     }
 
     /**
-     * Loads the native library specified by the <code>libname</code>
-     * argument.  The <code>libname</code> argument must not contain any platform
+     * Loads the native library specified by the {@code libname}
+     * argument.  The {@code libname} argument must not contain any platform
      * specific prefix, file extension or path. If a native library
-     * called <code>libname</code> is statically linked with the VM, then the
-     * JNI_OnLoad_<code>libname</code> function exported by the library is invoked.
+     * called {@code libname} is statically linked with the VM, then the
+     * JNI_OnLoad_{@code libname} function exported by the library is invoked.
      * See the JNI Specification for more details.
      *
      * Otherwise, the libname argument is loaded from a system library
      * location and mapped to a native library image in an implementation-
      * dependent manner.
      * <p>
-     * First, if there is a security manager, its <code>checkLink</code>
-     * method is called with the <code>libname</code> as its argument.
+     * First, if there is a security manager, its {@code checkLink}
+     * method is called with the {@code libname} as its argument.
      * This may result in a security exception.
      * <p>
      * The method {@link System#loadLibrary(String)} is the conventional
      * and convenient means of invoking this method. If native
      * methods are to be used in the implementation of a class, a standard
      * strategy is to put the native code in a library file (call it
-     * <code>LibFile</code>) and then to put a static initializer:
+     * {@code LibFile}) and then to put a static initializer:
      * <blockquote><pre>
      * static { System.loadLibrary("LibFile"); }
      * </pre></blockquote>
@@ -848,14 +846,14 @@
      *
      * @param      libname   the name of the library.
      * @exception  SecurityException  if a security manager exists and its
-     *             <code>checkLink</code> method doesn't allow
+     *             {@code checkLink} method doesn't allow
      *             loading of the specified dynamic library
      * @exception  UnsatisfiedLinkError if either the libname argument
      *             contains a file path, the native library is not statically
      *             linked with the VM,  or the library cannot be mapped to a
      *             native library image by the host system.
-     * @exception  NullPointerException if <code>libname</code> is
-     *             <code>null</code>
+     * @exception  NullPointerException if {@code libname} is
+     *             {@code null}
      * @see        java.lang.SecurityException
      * @see        java.lang.SecurityManager#checkLink(java.lang.String)
      */
@@ -878,7 +876,7 @@
 
     /**
      * Creates a localized version of an input stream. This method takes
-     * an <code>InputStream</code> and returns an <code>InputStream</code>
+     * an {@code InputStream} and returns an {@code InputStream}
      * equivalent to the argument in all respects except that it is
      * localized: as characters in the local character set are read from
      * the stream, they are automatically converted from the local
@@ -894,7 +892,7 @@
      * @see        java.io.InputStreamReader#InputStreamReader(java.io.InputStream)
      * @deprecated As of JDK&nbsp;1.1, the preferred way to translate a byte
      * stream in the local encoding into a character stream in Unicode is via
-     * the <code>InputStreamReader</code> and <code>BufferedReader</code>
+     * the {@code InputStreamReader} and {@code BufferedReader}
      * classes.
      */
     @Deprecated
@@ -904,8 +902,8 @@
 
     /**
      * Creates a localized version of an output stream. This method
-     * takes an <code>OutputStream</code> and returns an
-     * <code>OutputStream</code> equivalent to the argument in all respects
+     * takes an {@code OutputStream} and returns an
+     * {@code OutputStream} equivalent to the argument in all respects
      * except that it is localized: as Unicode characters are written to
      * the stream, they are automatically converted to the local
      * character set.
@@ -915,8 +913,8 @@
      *
      * @deprecated As of JDK&nbsp;1.1, the preferred way to translate a
      * Unicode character stream into a byte stream in the local encoding is via
-     * the <code>OutputStreamWriter</code>, <code>BufferedWriter</code>, and
-     * <code>PrintWriter</code> classes.
+     * the {@code OutputStreamWriter}, {@code BufferedWriter}, and
+     * {@code PrintWriter} classes.
      *
      * @param      out OutputStream to localize
      * @return     a localized output stream
--- a/src/java.base/share/classes/java/nio/file/AtomicMoveNotSupportedException.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.base/share/classes/java/nio/file/AtomicMoveNotSupportedException.java	Wed Apr 29 08:52:47 2015 -0700
@@ -45,7 +45,7 @@
      * @param   target
      *          a string identifying the target file or {@code null} if not known
      * @param   reason
-     *          a reason message with additional information
+     *          a reason message with additional information or {@code null}
      */
     public AtomicMoveNotSupportedException(String source,
                                            String target,
--- a/src/java.base/share/classes/java/util/JapaneseImperialCalendar.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.base/share/classes/java/util/JapaneseImperialCalendar.java	Wed Apr 29 08:52:47 2015 -0700
@@ -53,9 +53,9 @@
  * ------------------------------------------------------
  * }</pre>
  *
- * <p><code>ERA</code> value 0 specifies the years before Meiji and
- * the Gregorian year values are used. Unlike {@link
- * GregorianCalendar}, the Julian to Gregorian transition is not
+ * <p>{@code ERA} value 0 specifies the years before Meiji and
+ * the Gregorian year values are used. Unlike
+ * {@link GregorianCalendar}, the Julian to Gregorian transition is not
  * supported because it doesn't make any sense to the Japanese
  * calendar systems used before Meiji. To represent the years before
  * Gregorian year 1, 0 and negative values are used. The Japanese
@@ -66,7 +66,7 @@
  * <p>A new era can be specified using property
  * jdk.calendar.japanese.supplemental.era. The new era is added to the
  * predefined eras. The syntax of the property is as follows.
- * <p><pre>
+ * <pre>
  *   {@code name=<name>,abbr=<abbr>,since=<time['u']>}
  * </pre>
  * where
@@ -83,7 +83,7 @@
  * ignored.
  *
  * <p>The following is an example of the property usage.
- * <p><pre>
+ * <pre>
  *   java -Djdk.calendar.japanese.supplemental.era="name=NewEra,abbr=N,since=253374307200000"
  * </pre>
  * The property specifies an era change to NewEra at 9999-02-11T00:00:00 local time.
@@ -315,7 +315,7 @@
     private transient int[] originalFields;
 
     /**
-     * Constructs a <code>JapaneseImperialCalendar</code> based on the current time
+     * Constructs a {@code JapaneseImperialCalendar} based on the current time
      * in the given time zone with the given locale.
      *
      * @param zone the given time zone.
@@ -351,16 +351,16 @@
     }
 
     /**
-     * Compares this <code>JapaneseImperialCalendar</code> to the specified
-     * <code>Object</code>. The result is <code>true</code> if and
-     * only if the argument is a <code>JapaneseImperialCalendar</code> object
+     * Compares this {@code JapaneseImperialCalendar} to the specified
+     * {@code Object}. The result is {@code true} if and
+     * only if the argument is a {@code JapaneseImperialCalendar} object
      * that represents the same time value (millisecond offset from
      * the <a href="Calendar.html#Epoch">Epoch</a>) under the same
-     * <code>Calendar</code> parameters.
+     * {@code Calendar} parameters.
      *
      * @param obj the object to compare with.
-     * @return <code>true</code> if this object is equal to <code>obj</code>;
-     * <code>false</code> otherwise.
+     * @return {@code true} if this object is equal to {@code obj};
+     * {@code false} otherwise.
      * @see Calendar#compareTo(Calendar)
      */
     @Override
@@ -371,7 +371,7 @@
 
     /**
      * Generates the hash code for this
-     * <code>JapaneseImperialCalendar</code> object.
+     * {@code JapaneseImperialCalendar} object.
      */
     @Override
     public int hashCode() {
@@ -382,27 +382,27 @@
      * Adds the specified (signed) amount of time to the given calendar field,
      * based on the calendar's rules.
      *
-     * <p><em>Add rule 1</em>. The value of <code>field</code>
-     * after the call minus the value of <code>field</code> before the
-     * call is <code>amount</code>, modulo any overflow that has occurred in
-     * <code>field</code>. Overflow occurs when a field value exceeds its
+     * <p><em>Add rule 1</em>. The value of {@code field}
+     * after the call minus the value of {@code field} before the
+     * call is {@code amount}, modulo any overflow that has occurred in
+     * {@code field}. Overflow occurs when a field value exceeds its
      * range and, as a result, the next larger field is incremented or
      * decremented and the field value is adjusted back into its range.</p>
      *
      * <p><em>Add rule 2</em>. If a smaller field is expected to be
      * invariant, but it is impossible for it to be equal to its
      * prior value because of changes in its minimum or maximum after
-     * <code>field</code> is changed, then its value is adjusted to be as close
+     * {@code field} is changed, then its value is adjusted to be as close
      * as possible to its expected value. A smaller field represents a
-     * smaller unit of time. <code>HOUR</code> is a smaller field than
-     * <code>DAY_OF_MONTH</code>. No adjustment is made to smaller fields
+     * smaller unit of time. {@code HOUR} is a smaller field than
+     * {@code DAY_OF_MONTH}. No adjustment is made to smaller fields
      * that are not expected to be invariant. The calendar system
      * determines what fields are expected to be invariant.</p>
      *
      * @param field the calendar field.
      * @param amount the amount of date or time to be added to the field.
-     * @exception IllegalArgumentException if <code>field</code> is
-     * <code>ZONE_OFFSET</code>, <code>DST_OFFSET</code>, or unknown,
+     * @exception IllegalArgumentException if {@code field} is
+     * {@code ZONE_OFFSET}, {@code DST_OFFSET}, or unknown,
      * or if any calendar fields have out-of-range values in
      * non-lenient mode.
      */
@@ -548,12 +548,12 @@
      * <p>This method calls {@link #complete()} before adding the
      * amount so that all the calendar fields are normalized. If there
      * is any calendar field having an out-of-range value in non-lenient mode, then an
-     * <code>IllegalArgumentException</code> is thrown.
+     * {@code IllegalArgumentException} is thrown.
      *
      * @param field the calendar field.
-     * @param amount the signed amount to add to <code>field</code>.
-     * @exception IllegalArgumentException if <code>field</code> is
-     * <code>ZONE_OFFSET</code>, <code>DST_OFFSET</code>, or unknown,
+     * @param amount the signed amount to add to {@code field}.
+     * @exception IllegalArgumentException if {@code field} is
+     * {@code ZONE_OFFSET}, {@code DST_OFFSET}, or unknown,
      * or if any calendar fields have out-of-range values in
      * non-lenient mode.
      * @see #roll(int,boolean)
@@ -1055,9 +1055,9 @@
 
     /**
      * Returns the minimum value for the given calendar field of this
-     * <code>Calendar</code> instance. The minimum value is
-     * defined as the smallest value returned by the {@link
-     * Calendar#get(int) get} method for any possible time value,
+     * {@code Calendar} instance. The minimum value is
+     * defined as the smallest value returned by the
+     * {@link Calendar#get(int) get} method for any possible time value,
      * taking into consideration the current values of the
      * {@link Calendar#getFirstDayOfWeek() getFirstDayOfWeek},
      * {@link Calendar#getMinimalDaysInFirstWeek() getMinimalDaysInFirstWeek},
@@ -1077,9 +1077,9 @@
 
     /**
      * Returns the maximum value for the given calendar field of this
-     * <code>GregorianCalendar</code> instance. The maximum value is
-     * defined as the largest value returned by the {@link
-     * Calendar#get(int) get} method for any possible time value,
+     * {@code GregorianCalendar} instance. The maximum value is
+     * defined as the largest value returned by the
+     * {@link Calendar#get(int) get} method for any possible time value,
      * taking into consideration the current values of the
      * {@link Calendar#getFirstDayOfWeek() getFirstDayOfWeek},
      * {@link Calendar#getMinimalDaysInFirstWeek() getMinimalDaysInFirstWeek},
@@ -1108,7 +1108,7 @@
 
     /**
      * Returns the highest minimum value for the given calendar field
-     * of this <code>GregorianCalendar</code> instance. The highest
+     * of this {@code GregorianCalendar} instance. The highest
      * minimum value is defined as the largest value returned by
      * {@link #getActualMinimum(int)} for any possible time value,
      * taking into consideration the current values of the
@@ -1130,7 +1130,7 @@
 
     /**
      * Returns the lowest maximum value for the given calendar field
-     * of this <code>GregorianCalendar</code> instance. The lowest
+     * of this {@code GregorianCalendar} instance. The lowest
      * maximum value is defined as the smallest value returned by
      * {@link #getActualMaximum(int)} for any possible time value,
      * taking into consideration the current values of the
@@ -1166,7 +1166,7 @@
      *
      * @param field the calendar field
      * @return the minimum of the given field for the time value of
-     * this <code>JapaneseImperialCalendar</code>
+     * this {@code JapaneseImperialCalendar}
      * @see #getMinimum(int)
      * @see #getMaximum(int)
      * @see #getGreatestMinimum(int)
@@ -1269,13 +1269,13 @@
      * and
      * {@link Calendar#getTimeZone() getTimeZone} methods.
      * For example, if the date of this instance is Heisei 16February 1,
-     * the actual maximum value of the <code>DAY_OF_MONTH</code> field
+     * the actual maximum value of the {@code DAY_OF_MONTH} field
      * is 29 because Heisei 16 is a leap year, and if the date of this
      * instance is Heisei 17 February 1, it's 28.
      *
      * @param field the calendar field
      * @return the maximum of the given field for the time value of
-     * this <code>JapaneseImperialCalendar</code>
+     * this {@code JapaneseImperialCalendar}
      * @see #getMinimum(int)
      * @see #getMaximum(int)
      * @see #getGreatestMinimum(int)
@@ -1558,7 +1558,7 @@
      * href="Calendar.html#Epoch">Epoch</a>) to calendar field values.
      * The time is <em>not</em>
      * recomputed first; to recompute the time, then the fields, call the
-     * <code>complete</code> method.
+     * {@code complete} method.
      *
      * @see Calendar#complete
      */
--- a/src/java.base/share/classes/jdk/net/NetworkPermission.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.base/share/classes/jdk/net/NetworkPermission.java	Wed Apr 29 08:52:47 2015 -0700
@@ -33,7 +33,7 @@
  * name, but no actions list. Callers either possess the permission or not.
  * <p>
  * The following targets are defined:
- * <p>
+ *
  * <table border=1 cellpadding=5 summary="permission target name,
  *  what the target allows,and associated risks">
  * <tr>
--- a/src/java.management/share/classes/com/sun/management/DiagnosticCommandMBean.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.management/share/classes/com/sun/management/DiagnosticCommandMBean.java	Wed Apr 29 08:52:47 2015 -0700
@@ -93,7 +93,7 @@
  *      returns the diagnostic command description
  *      (the same as the one return in the 'help' command)</li>
  *  <li>{@link javax.management.MBeanOperationInfo#getImpact() getImpact()}
- *      returns <code>ACTION_INFO</code></li>
+ *      returns {@code ACTION_INFO}</li>
  *  <li>{@link javax.management.MBeanOperationInfo#getReturnType() getReturnType()}
  *      returns {@code java.lang.String}</li>
  *  <li>{@link javax.management.MBeanOperationInfo#getDescriptor() getDescriptor()}
@@ -105,7 +105,6 @@
  * meta-data for a JMX element. A field is a name and an associated value.
  * The additional meta-data provided for an operation associated with a
  * diagnostic command are described in the table below:
- * <p>
  *
  * <table border="1" cellpadding="5">
  *   <tr>
@@ -161,7 +160,6 @@
  *          arguments supported by the diagnostic command (see below)</td>
  *   </tr>
  * </table>
- * <p>
  *
  * <p>The description of parameters (options or arguments) of a diagnostic
  * command is provided within a Descriptor instance. In this Descriptor,
--- a/src/java.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java	Wed Apr 29 08:52:47 2015 -0700
@@ -41,14 +41,14 @@
  * when the Java virtual machine completes a garbage collection action
  * The notification emitted will contain the garbage collection notification
  * information about the status of the memory:
- * <u1>
+ * <ul>
  *   <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
           (start time, end time) and the memory usage before and after
           the GC cycle.</li>
- * </u1>
+ * </ul>
  *
  * <p>
  * A {@link CompositeData CompositeData} representing
@@ -81,7 +81,7 @@
  *   <li>A {@linkplain #GARBAGE_COLLECTION_NOTIFICATION garbage collection notification}.
  *       <br>Used by every notification emitted by the garbage collector, the details about
  *             the notification are provided in the {@linkplain #getGcAction action} String
- *       <p></li>
+ *       </li>
  * </ul>
  **/
 
--- a/src/java.management/share/classes/com/sun/management/GcInfo.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.management/share/classes/com/sun/management/GcInfo.java	Wed Apr 29 08:52:47 2015 -0700
@@ -52,13 +52,13 @@
  * </blockquote>
  *
  * <p>
- * <tt>GcInfo</tt> is a {@link CompositeData CompositeData}
+ * {@code GcInfo} is a {@link CompositeData CompositeData}
  * The GC-specific attributes can be obtained via the CompositeData
  * interface.  This is a historical relic, and other classes should
  * not copy this pattern.  Use {@link CompositeDataView} instead.
  *
  * <h4>MXBean Mapping</h4>
- * <tt>GcInfo</tt> is mapped to a {@link CompositeData CompositeData}
+ * {@code GcInfo} is mapped to a {@link CompositeData CompositeData}
  * with attributes as specified in the {@link #from from} method.
  *
  * @author  Mandy Chung
@@ -152,11 +152,11 @@
      * Returns the memory usage of all memory pools
      * at the beginning of this GC.
      * This method returns
-     * a <tt>Map</tt> of the name of a memory pool
+     * a {@code Map} of the name of a memory pool
      * to the memory usage of the corresponding
      * memory pool before GC starts.
      *
-     * @return a <tt>Map</tt> of memory pool names to the memory
+     * @return a {@code Map} of memory pool names to the memory
      * usage of a memory pool before GC starts.
      */
     public Map<String, MemoryUsage> getMemoryUsageBeforeGc() {
@@ -167,11 +167,11 @@
      * Returns the memory usage of all memory pools
      * at the end of this GC.
      * This method returns
-     * a <tt>Map</tt> of the name of a memory pool
+     * a {@code Map} of the name of a memory pool
      * to the memory usage of the corresponding
      * memory pool when GC finishes.
      *
-     * @return a <tt>Map</tt> of memory pool names to the memory
+     * @return a {@code Map} of memory pool names to the memory
      * usage of a memory pool when GC finishes.
      */
     public Map<String, MemoryUsage> getMemoryUsageAfterGc() {
@@ -179,12 +179,11 @@
     }
 
    /**
-     * Returns a <tt>GcInfo</tt> object represented by the
-     * given <tt>CompositeData</tt>. The given
-     * <tt>CompositeData</tt> must contain
+     * Returns a {@code GcInfo} object represented by the
+     * given {@code CompositeData}. The given
+     * {@code CompositeData} must contain
      * all the following attributes:
      *
-     * <p>
      * <blockquote>
      * <table border>
      * <tr>
@@ -193,33 +192,33 @@
      * </tr>
      * <tr>
      *   <td>index</td>
-     *   <td><tt>java.lang.Long</tt></td>
+     *   <td>{@code java.lang.Long}</td>
      * </tr>
      * <tr>
      *   <td>startTime</td>
-     *   <td><tt>java.lang.Long</tt></td>
+     *   <td>{@code java.lang.Long}</td>
      * </tr>
      * <tr>
      *   <td>endTime</td>
-     *   <td><tt>java.lang.Long</tt></td>
+     *   <td>{@code java.lang.Long}</td>
      * </tr>
      * <tr>
      *   <td>memoryUsageBeforeGc</td>
-     *   <td><tt>javax.management.openmbean.TabularData</tt></td>
+     *   <td>{@code javax.management.openmbean.TabularData}</td>
      * </tr>
      * <tr>
      *   <td>memoryUsageAfterGc</td>
-     *   <td><tt>javax.management.openmbean.TabularData</tt></td>
+     *   <td>{@code javax.management.openmbean.TabularData}</td>
      * </tr>
      * </table>
      * </blockquote>
      *
-     * @throws IllegalArgumentException if <tt>cd</tt> does not
-     *   represent a <tt>GcInfo</tt> object with the attributes
+     * @throws IllegalArgumentException if {@code cd} does not
+     *   represent a {@code GcInfo} object with the attributes
      *   described above.
      *
-     * @return a <tt>GcInfo</tt> object represented by <tt>cd</tt>
-     * if <tt>cd</tt> is not <tt>null</tt>; <tt>null</tt> otherwise.
+     * @return a {@code GcInfo} object represented by {@code cd}
+     * if {@code cd} is not {@code null}; {@code null} otherwise.
      */
     public static GcInfo from(CompositeData cd) {
         if (cd == null) {
@@ -272,7 +271,7 @@
     }
 
     /**
-     * <p>Return the {@code CompositeData} representation of this
+     * Return the {@code CompositeData} representation of this
      * {@code GcInfo}, including any GC-specific attributes.  The
      * returned value will have at least all the attributes described
      * in the {@link #from(CompositeData) from} method, plus optionally
--- a/src/java.management/share/classes/com/sun/management/VMOption.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.management/share/classes/com/sun/management/VMOption.java	Wed Apr 29 08:52:47 2015 -0700
@@ -42,10 +42,10 @@
  * be set dynamically via a management interface after
  * the VM was started.
  *
- * A <tt>VMOption</tt> contains the value of a VM option
- * and the origin of that value at the time this <tt>VMOption</tt>
+ * A {@code VMOption} contains the value of a VM option
+ * and the origin of that value at the time this {@code VMOption}
  * object was constructed.  The value of the VM option
- * may be changed after the <tt>VMOption</tt> object was constructed,
+ * may be changed after the {@code VMOption} object was constructed,
  *
  * @see <a href="{@docRoot}/../../../../technotes/guides/vm/index.html">
  *         Java Virtual Machine</a>
@@ -108,15 +108,15 @@
     }
 
     /**
-     * Constructs a <tt>VMOption</tt>.
+     * Constructs a {@code VMOption}.
      *
      * @param name Name of a VM option.
      * @param value Value of a VM option.
-     * @param writeable <tt>true</tt> if a VM option can be set dynamically,
-     *                  or <tt>false</tt> otherwise.
+     * @param writeable {@code true} if a VM option can be set dynamically,
+     *                  or {@code false} otherwise.
      * @param origin where the value of a VM option came from.
      *
-     * @throws NullPointerException if the name or value is <tt>null</tt>
+     * @throws NullPointerException if the name or value is {@code null}
      */
     public VMOption(String name, String value, boolean writeable, Origin origin) {
         this.name = name;
@@ -126,7 +126,7 @@
     }
 
     /**
-     * Constructs a <tt>VMOption</tt> object from a
+     * Constructs a {@code VMOption} object from a
      * {@link CompositeData CompositeData}.
      */
     private VMOption(CompositeData cd) {
@@ -150,10 +150,10 @@
 
     /**
      * Returns the value of this VM option at the time when
-     * this <tt>VMOption</tt> was created. The value could have been changed.
+     * this {@code VMOption} was created. The value could have been changed.
      *
      * @return the value of the VM option at the time when
-     *         this <tt>VMOption</tt> was created.
+     *         this {@code VMOption} was created.
      */
     public String getValue() {
         return value;
@@ -174,7 +174,7 @@
      * it can be set by the {@link HotSpotDiagnosticMXBean#setVMOption
      * HotSpotDiagnosticMXBean.setVMOption} method.
      *
-     * @return <tt>true</tt> if this VM option is writeable; <tt>false</tt>
+     * @return {@code true} if this VM option is writeable; {@code false}
      * otherwise.
      */
     public boolean isWriteable() {
@@ -189,10 +189,10 @@
     }
 
     /**
-     * Returns a <tt>VMOption</tt> object represented by the
-     * given <tt>CompositeData</tt>. The given <tt>CompositeData</tt>
+     * Returns a {@code VMOption} object represented by the
+     * given {@code CompositeData}. The given {@code CompositeData}
      * must contain the following attributes:
-     * <p>
+     *
      * <blockquote>
      * <table border>
      * <tr>
@@ -201,32 +201,32 @@
      * </tr>
      * <tr>
      *   <td>name</td>
-     *   <td><tt>java.lang.String</tt></td>
+     *   <td>{@code java.lang.String}</td>
      * </tr>
      * <tr>
      *   <td>value</td>
-     *   <td><tt>java.lang.String</tt></td>
+     *   <td>{@code java.lang.String}</td>
      * </tr>
      * <tr>
      *   <td>origin</td>
-     *   <td><tt>java.lang.String</tt></td>
+     *   <td>{@code java.lang.String}</td>
      * </tr>
      * <tr>
      *   <td>writeable</td>
-     *   <td><tt>java.lang.Boolean</tt></td>
+     *   <td>{@code java.lang.Boolean}</td>
      * </tr>
      * </table>
      * </blockquote>
      *
-     * @param cd <tt>CompositeData</tt> representing a <tt>VMOption</tt>
+     * @param cd {@code CompositeData} representing a {@code VMOption}
      *
-     * @throws IllegalArgumentException if <tt>cd</tt> does not
-     *   represent a <tt>VMOption</tt> with the attributes described
+     * @throws IllegalArgumentException if {@code cd} does not
+     *   represent a {@code VMOption} with the attributes described
      *   above.
      *
-     * @return a <tt>VMOption</tt> object represented by <tt>cd</tt>
-     *         if <tt>cd</tt> is not <tt>null</tt>;
-     *         <tt>null</tt> otherwise.
+     * @return a {@code VMOption} object represented by {@code cd}
+     *         if {@code cd} is not {@code null};
+     *         {@code null} otherwise.
      */
     public static VMOption from(CompositeData cd) {
         if (cd == null) {
--- a/src/java.prefs/share/classes/java/util/prefs/AbstractPreferences.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.prefs/share/classes/java/util/prefs/AbstractPreferences.java	Wed Apr 29 08:52:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -78,10 +78,9 @@
  * under which these calls cannot even enqueue the requested operation for
  * later processing.  Even under these circumstances it is generally better to
  * simply ignore the invocation and return, rather than throwing an
- * exception.  Under these circumstances, however, all subsequent invocations
- * of <tt>flush()</tt> and <tt>sync</tt> should return <tt>false</tt>, as
- * returning <tt>true</tt> would imply that all previous operations had
- * successfully been made permanent.
+ * exception.  Under these circumstances, however, subsequently invoking
+ * <tt>flush()</tt> or <tt>sync</tt> would not imply that all previous
+ * operations had successfully been made permanent.
  *
  * <p>There is one circumstance under which <tt>putSpi, removeSpi and
  * childSpi</tt> <i>should</i> throw an exception: if the caller lacks
@@ -123,6 +122,13 @@
  */
 public abstract class AbstractPreferences extends Preferences {
     /**
+     * The code point U+0000, assigned to the null control character, is the
+     * only character encoded in Unicode and ISO/IEC 10646 that is always
+     * invalid in any XML 1.0 and 1.1 document.
+     */
+    static final int CODE_POINT_U0000 = '\u0000';
+
+    /**
      * Our name relative to parent.
      */
     private final String name;
@@ -234,6 +240,8 @@
      * @throws IllegalArgumentException if <tt>key.length()</tt> exceeds
      *       <tt>MAX_KEY_LENGTH</tt> or if <tt>value.length</tt> exceeds
      *       <tt>MAX_VALUE_LENGTH</tt>.
+     * @throws IllegalArgumentException if either key or value contain
+     *         the null control character, code point U+0000.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      */
@@ -244,6 +252,10 @@
             throw new IllegalArgumentException("Key too long: "+key);
         if (value.length() > MAX_VALUE_LENGTH)
             throw new IllegalArgumentException("Value too long: "+value);
+        if (key.indexOf(CODE_POINT_U0000) != -1)
+            throw new IllegalArgumentException("Key contains code point U+0000");
+        if (value.indexOf(CODE_POINT_U0000) != -1)
+            throw new IllegalArgumentException("Value contains code point U+0000");
 
         synchronized(lock) {
             if (removed)
@@ -275,10 +287,14 @@
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if key is <tt>null</tt>.  (A
      *         <tt>null</tt> default <i>is</i> permitted.)
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      */
     public String get(String key, String def) {
         if (key==null)
             throw new NullPointerException("Null key");
+        if (key.indexOf(CODE_POINT_U0000) != -1)
+            throw new IllegalArgumentException("Key contains code point U+0000");
         synchronized(lock) {
             if (removed)
                 throw new IllegalStateException("Node has been removed.");
@@ -306,10 +322,14 @@
      * @param key key whose mapping is to be removed from the preference node.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      * @throws NullPointerException {@inheritDoc}.
      */
     public void remove(String key) {
         Objects.requireNonNull(key, "Specified key cannot be null");
+        if (key.indexOf(CODE_POINT_U0000) != -1)
+            throw new IllegalArgumentException("Key contains code point U+0000");
         synchronized(lock) {
             if (removed)
                 throw new IllegalStateException("Node has been removed.");
@@ -353,6 +373,8 @@
      * @throws NullPointerException if key is <tt>null</tt>.
      * @throws IllegalArgumentException if <tt>key.length()</tt> exceeds
      *         <tt>MAX_KEY_LENGTH</tt>.
+     * @throws IllegalArgumentException if key contains
+     *         the null control character, code point U+0000.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      */
@@ -381,6 +403,8 @@
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      */
     public int getInt(String key, int def) {
         int result = def;
@@ -408,6 +432,8 @@
      * @throws NullPointerException if key is <tt>null</tt>.
      * @throws IllegalArgumentException if <tt>key.length()</tt> exceeds
      *         <tt>MAX_KEY_LENGTH</tt>.
+     * @throws IllegalArgumentException if key contains
+     *         the null control character, code point U+0000.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      */
@@ -436,6 +462,8 @@
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      */
     public long getLong(String key, long def) {
         long result = def;
@@ -463,6 +491,8 @@
      * @throws NullPointerException if key is <tt>null</tt>.
      * @throws IllegalArgumentException if <tt>key.length()</tt> exceeds
      *         <tt>MAX_KEY_LENGTH</tt>.
+     * @throws IllegalArgumentException if key contains
+     *         the null control character, code point U+0000.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      */
@@ -494,6 +524,8 @@
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      */
     public boolean getBoolean(String key, boolean def) {
         boolean result = def;
@@ -521,6 +553,8 @@
      * @throws NullPointerException if key is <tt>null</tt>.
      * @throws IllegalArgumentException if <tt>key.length()</tt> exceeds
      *         <tt>MAX_KEY_LENGTH</tt>.
+     * @throws IllegalArgumentException if key contains
+     *         the null control character, code point U+0000.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      */
@@ -549,6 +583,8 @@
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      */
     public float getFloat(String key, float def) {
         float result = def;
@@ -576,6 +612,8 @@
      * @throws NullPointerException if key is <tt>null</tt>.
      * @throws IllegalArgumentException if <tt>key.length()</tt> exceeds
      *         <tt>MAX_KEY_LENGTH</tt>.
+     * @throws IllegalArgumentException if key contains
+     *         the null control character, code point U+0000.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      */
@@ -604,6 +642,8 @@
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      */
     public double getDouble(String key, double def) {
         double result = def;
@@ -627,6 +667,8 @@
      * @throws NullPointerException if key or value is <tt>null</tt>.
      * @throws IllegalArgumentException if key.length() exceeds MAX_KEY_LENGTH
      *         or if value.length exceeds MAX_VALUE_LENGTH*3/4.
+     * @throws IllegalArgumentException if key contains
+     *         the null control character, code point U+0000.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      */
@@ -650,6 +692,8 @@
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.  (A
      *         <tt>null</tt> value for <tt>def</tt> <i>is</i> permitted.)
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      */
     public byte[] getByteArray(String key, byte[] def) {
         byte[] result = def;
--- a/src/java.prefs/share/classes/java/util/prefs/Preferences.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.prefs/share/classes/java/util/prefs/Preferences.java	Wed Apr 29 08:52:47 2015 -0700
@@ -489,7 +489,7 @@
      *       <tt>MAX_VALUE_LENGTH</tt>.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
-     * @throws IllegalArgumentException if either the key or the value contain
+     * @throws IllegalArgumentException if either key or value contain
      *         the null control character, code point U+0000.
      */
     public abstract void put(String key, String value);
@@ -514,6 +514,8 @@
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.  (A
      *         <tt>null</tt> value for <tt>def</tt> <i>is</i> permitted.)
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      */
     public abstract String get(String key, String def);
 
@@ -530,6 +532,8 @@
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      */
     public abstract void remove(String key);
 
@@ -566,6 +570,8 @@
      *         <tt>MAX_KEY_LENGTH</tt>.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
+     * @throws IllegalArgumentException if key contains
+     *         the null control character, code point U+0000.
      * @see #getInt(String,int)
      */
     public abstract void putInt(String key, int value);
@@ -597,6 +603,8 @@
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      * @see #putInt(String,int)
      * @see #get(String,String)
      */
@@ -616,6 +624,8 @@
      *         <tt>MAX_KEY_LENGTH</tt>.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
+     * @throws IllegalArgumentException if key contains
+     *         the null control character, code point U+0000.
      * @see #getLong(String,long)
      */
     public abstract void putLong(String key, long value);
@@ -647,6 +657,8 @@
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      * @see #putLong(String,long)
      * @see #get(String,String)
      */
@@ -666,6 +678,8 @@
      *         <tt>MAX_KEY_LENGTH</tt>.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
+     * @throws IllegalArgumentException if key contains
+     *         the null control character, code point U+0000.
      * @see #getBoolean(String,boolean)
      * @see #get(String,String)
      */
@@ -702,6 +716,8 @@
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      * @see #get(String,String)
      * @see #putBoolean(String,boolean)
      */
@@ -721,6 +737,8 @@
      *         <tt>MAX_KEY_LENGTH</tt>.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
+     * @throws IllegalArgumentException if key contains
+     *         the null control character, code point U+0000.
      * @see #getFloat(String,float)
      */
     public abstract void putFloat(String key, float value);
@@ -751,6 +769,8 @@
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      * @see #putFloat(String,float)
      * @see #get(String,String)
      */
@@ -770,6 +790,8 @@
      *         <tt>MAX_KEY_LENGTH</tt>.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
+     * @throws IllegalArgumentException if key contains
+     *         the null control character, code point U+0000.
      * @see #getDouble(String,double)
      */
     public abstract void putDouble(String key, double value);
@@ -800,6 +822,8 @@
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      * @see #putDouble(String,double)
      * @see #get(String,String)
      */
@@ -825,6 +849,8 @@
      *         or if value.length exceeds MAX_VALUE_LENGTH*3/4.
      * @throws IllegalStateException if this node (or an ancestor) has been
      *         removed with the {@link #removeNode()} method.
+     * @throws IllegalArgumentException if key contains
+     *         the null control character, code point U+0000.
      * @see #getByteArray(String,byte[])
      * @see #get(String,String)
      */
@@ -864,6 +890,8 @@
      *         removed with the {@link #removeNode()} method.
      * @throws NullPointerException if <tt>key</tt> is <tt>null</tt>.  (A
      *         <tt>null</tt> value for <tt>def</tt> <i>is</i> permitted.)
+     * @throws IllegalArgumentException if key contains the null control
+     *         character, code point U+0000.
      * @see #get(String,String)
      * @see #putByteArray(String,byte[])
      */
--- a/src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java	Wed Apr 29 08:52:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, 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
@@ -49,13 +49,6 @@
  */
 class FileSystemPreferences extends AbstractPreferences {
 
-    /**
-     * The code point U+0000, assigned to the null control character, is the
-     * only character encoded in Unicode and ISO/IEC 10646 that is always
-     * invalid in any XML 1.0 and 1.1 document.
-     */
-    private static final String CODE_POINT_U0000 = String.valueOf('\u0000');
-
     static {
         PrivilegedAction<Void> load = () -> {
             System.loadLibrary("prefs");
@@ -532,11 +525,6 @@
     }
 
     protected void putSpi(String key, String value) {
-        if (key.indexOf(CODE_POINT_U0000) != -1) {
-            throw new IllegalArgumentException("Key contains code point U+0000");
-        } else if (value.indexOf(CODE_POINT_U0000) != -1) {
-            throw new IllegalArgumentException("Value contains code point U+0000");
-        }
         initCacheIfNecessary();
         changeLog.add(new Put(key, value));
         prefsCache.put(key, value);
--- a/src/java.prefs/windows/classes/java/util/prefs/WindowsPreferences.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.prefs/windows/classes/java/util/prefs/WindowsPreferences.java	Wed Apr 29 08:52:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -25,8 +25,6 @@
 
 package java.util.prefs;
 
-import java.util.Map;
-import java.util.TreeMap;
 import java.util.StringTokenizer;
 import java.io.ByteArrayOutputStream;
 import java.security.AccessController;
@@ -46,7 +44,7 @@
  * @since 1.4
  */
 
-class WindowsPreferences extends AbstractPreferences{
+class WindowsPreferences extends AbstractPreferences {
 
     static {
         PrivilegedAction<Void> load = () -> {
@@ -620,22 +618,22 @@
      * @see #getSpi(String)
      */
     protected void putSpi(String javaName, String value) {
-    int nativeHandle = openKey(KEY_SET_VALUE);
-    if (nativeHandle == NULL_NATIVE_HANDLE) {
-        isBackingStoreAvailable = false;
-        return;
-    }
-    int result =  WindowsRegSetValueEx1(nativeHandle,
-                          toWindowsName(javaName), toWindowsValueString(value));
-    if (result != ERROR_SUCCESS) {
-        logger().warning("Could not assign value to key " +
-        byteArrayToString(toWindowsName(javaName))+ " at Windows registry node "
-       + byteArrayToString(windowsAbsolutePath()) + " at root 0x"
-       + Integer.toHexString(rootNativeHandle()) +
-       ". Windows RegSetValueEx(...) returned error code " + result + ".");
-        isBackingStoreAvailable = false;
+        int nativeHandle = openKey(KEY_SET_VALUE);
+        if (nativeHandle == NULL_NATIVE_HANDLE) {
+            isBackingStoreAvailable = false;
+            return;
         }
-    closeKey(nativeHandle);
+        int result = WindowsRegSetValueEx1(nativeHandle,
+                toWindowsName(javaName), toWindowsValueString(value));
+        if (result != ERROR_SUCCESS) {
+            logger().warning("Could not assign value to key " +
+            byteArrayToString(toWindowsName(javaName))+ " at Windows registry node "
+           + byteArrayToString(windowsAbsolutePath()) + " at root 0x"
+           + Integer.toHexString(rootNativeHandle()) +
+           ". Windows RegSetValueEx(...) returned error code " + result + ".");
+            isBackingStoreAvailable = false;
+        }
+        closeKey(nativeHandle);
     }
 
     /**
@@ -645,18 +643,18 @@
      * @see #putSpi(String, String)
      */
     protected String getSpi(String javaName) {
-    int nativeHandle = openKey(KEY_QUERY_VALUE);
-    if (nativeHandle == NULL_NATIVE_HANDLE) {
-        return null;
-    }
-    Object resultObject =  WindowsRegQueryValueEx(nativeHandle,
-                                                  toWindowsName(javaName));
-    if (resultObject == null) {
+        int nativeHandle = openKey(KEY_QUERY_VALUE);
+        if (nativeHandle == NULL_NATIVE_HANDLE) {
+            return null;
+        }
+        Object resultObject = WindowsRegQueryValueEx(nativeHandle,
+                toWindowsName(javaName));
+        if (resultObject == null) {
+            closeKey(nativeHandle);
+            return null;
+        }
         closeKey(nativeHandle);
-        return null;
-    }
-    closeKey(nativeHandle);
-    return toJavaValueString((byte[]) resultObject);
+        return toJavaValueString((byte[]) resultObject);
     }
 
     /**
--- a/src/java.smartcardio/share/classes/javax/smartcardio/package.html	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/java.smartcardio/share/classes/javax/smartcardio/package.html	Wed Apr 29 08:52:47 2015 -0700
@@ -46,27 +46,23 @@
 <a href="CommandAPDU.html">CommandAPDU</a>, 
 <a href="ResponseAPDU.html">ResponseAPDU</a>
 
-<p>
 <dt>Factory to obtain implementations
 <dd>
 <a href="TerminalFactory.html">TerminalFactory</a>
 
-<p>
 <dt>Main classes for card and terminal functions
 <dd>
-<a href="CardTerminals.html">CardTerminals</a>, 
-<a href="CardTerminal.html">CardTerminal</a>, 
+<a href="CardTerminals.html">CardTerminals</a>,
+<a href="CardTerminal.html">CardTerminal</a>,
 <a href="Card.html">Card</a>, 
 <a href="CardChannel.html">CardChannel</a>
 
-<p>
 <dt>Supporting permission and exception classes
 <dd>
-<a href="CardPermission.html">CardPermission</a>, 
-<a href="CardException.html">CardException</a>, 
+<a href="CardPermission.html">CardPermission</a>,
+<a href="CardException.html">CardException</a>,
 <a href="CardNotPresentException.html">CardNotPresentException</a>
 
-<p>
 <dt>Service provider interface, not accessed directly by applications 
 <dd>
 <a href="TerminalFactorySpi.html">TerminalFactorySpi</a>
@@ -94,7 +90,6 @@
 	card.disconnect(false);
 </pre>
 
-<P>
 @since   1.6
 @author  Andreas Sterbenz
 @author  JSR 268 Expert Group
--- a/src/jdk.attach/share/classes/com/sun/tools/attach/AgentInitializationException.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.attach/share/classes/com/sun/tools/attach/AgentInitializationException.java	Wed Apr 29 08:52:47 2015 -0700
@@ -29,15 +29,15 @@
  * The exception thrown when an agent fails to initialize in the target
  * Java virtual machine.
  *
- * <p> This exception is thrown by {@link
- * com.sun.tools.attach.VirtualMachine#loadAgent VirtualMachine.loadAgent},
+ * <p> This exception is thrown by
+ * {@link com.sun.tools.attach.VirtualMachine#loadAgent VirtualMachine.loadAgent},
  * {@link com.sun.tools.attach.VirtualMachine#loadAgentLibrary
- * VirtualMachine.loadAgentLibrary}, {@link
- * com.sun.tools.attach.VirtualMachine#loadAgentPath VirtualMachine.loadAgentPath}
+ * VirtualMachine.loadAgentLibrary},
+ * {@link com.sun.tools.attach.VirtualMachine#loadAgentPath VirtualMachine.loadAgentPath}
  * methods if an agent, or agent library, cannot be initialized.
- * When thrown by <tt>VirtualMachine.loadAgentLibrary</tt>, or
- * <tt>VirtualMachine.loadAgentPath</tt> then the exception encapsulates
- * the error returned by the agent's <code>Agent_OnAttach</code> function.
+ * When thrown by {@code VirtualMachine.loadAgentLibrary}, or
+ * {@code VirtualMachine.loadAgentPath} then the exception encapsulates
+ * the error returned by the agent's {@code Agent_OnAttach} function.
  * This error code can be obtained by invoking the {@link #returnValue() returnValue} method.
  */
 @jdk.Exported
@@ -49,7 +49,7 @@
     private int returnValue;
 
     /**
-     * Constructs an <code>AgentInitializationException</code> with
+     * Constructs an {@code AgentInitializationException} with
      * no detail message.
      */
     public AgentInitializationException() {
@@ -58,7 +58,7 @@
     }
 
     /**
-     * Constructs an <code>AgentInitializationException</code> with
+     * Constructs an {@code AgentInitializationException} with
      * the specified detail message.
      *
      * @param   s   the detail message.
@@ -69,9 +69,9 @@
     }
 
     /**
-     * Constructs an <code>AgentInitializationException</code> with
+     * Constructs an {@code AgentInitializationException} with
      * the specified detail message and the return value from the
-     * execution of the agent's <code>Agent_OnAttach</code> function.
+     * execution of the agent's {@code Agent_OnAttach} function.
      *
      * @param   s               the detail message.
      * @param   returnValue     the return value
@@ -83,8 +83,8 @@
 
     /**
      * If the exception was created with the return value from the agent
-     * <code>Agent_OnAttach</code> function then this returns that value,
-     * otherwise returns <code>0</code>. </p>
+     * {@code Agent_OnAttach} function then this returns that value,
+     * otherwise returns {@code 0}.
      *
      * @return  the return value
      */
--- a/src/jdk.attach/share/classes/com/sun/tools/attach/spi/AttachProvider.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.attach/share/classes/com/sun/tools/attach/spi/AttachProvider.java	Wed Apr 29 08:52:47 2015 -0700
@@ -41,7 +41,7 @@
  *
  * <p> An attach provider is a concrete subclass of this class that has a
  * zero-argument constructor and implements the abstract methods specified
- * below. </p>
+ * below.
  *
  * <p> An attach provider implementation is typically tied to a Java virtual
  * machine implementation, version, or even mode of operation. That is, a specific
@@ -51,7 +51,7 @@
  * Sun's <i>HotSpot</i> virtual machine. In general, if an environment
  * consists of Java virtual machines of different versions and from different
  * vendors then there will be an attach provider implementation for each
- * <i>family</i> of implementations or versions. </p>
+ * <i>family</i> of implementations or versions.
  *
  * <p> An attach provider is identified by its {@link #name <i>name</i>} and
  * {@link #type <i>type</i>}. The <i>name</i> is typically, but not required to
@@ -61,15 +61,15 @@
  * implementation that uses the Doors inter-process communication mechanism
  * might use the type <i>"doors"</i>. The purpose of the name and type is to
  * identify providers in environments where there are multiple providers
- * installed. </p>
+ * installed.
  *
  * <p> AttachProvider implementations are loaded and instantiated at the first
  * invocation of the {@link #providers() providers} method. This method
  * attempts to load all provider implementations that are installed on the
- * platform. </p>
+ * platform.
  *
  * <p> All of the methods in this class are safe for use by multiple
- * concurrent threads. </p>
+ * concurrent threads.
  *
  * @since 1.6
  */
@@ -81,12 +81,12 @@
     private static List<AttachProvider> providers = null;
 
     /**
-     * Initializes a new instance of this class.  </p>
+     * Initializes a new instance of this class.
      *
      * @throws  SecurityException
      *          If a security manager has been installed and it denies
      *          {@link com.sun.tools.attach.AttachPermission AttachPermission}
-     *          <tt>("createAttachProvider")</tt>
+     *          ("{@code createAttachProvider}")
      */
     protected AttachProvider() {
         SecurityManager sm = System.getSecurityManager();
@@ -95,14 +95,14 @@
     }
 
     /**
-     * Return this provider's name. </p>
+     * Return this provider's name.
      *
      * @return  The name of this provider
      */
     public abstract String name();
 
     /**
-     * Return this provider's type. </p>
+     * Return this provider's type.
      *
      * @return  The type of this provider
      */
@@ -113,18 +113,18 @@
      *
      * <p> A Java virtual machine is identified by an abstract identifier. The
      * nature of this identifier is platform dependent but in many cases it will be the
-     * string representation of the process identifier (or pid). </p>
+     * string representation of the process identifier (or pid).
      *
      * <p> This method parses the identifier and maps the identifier to a Java
      * virtual machine (in an implementation dependent manner). If the identifier
-     * cannot be parsed by the provider then an {@link
-     * com.sun.tools.attach.AttachNotSupportedException AttachNotSupportedException}
+     * cannot be parsed by the provider then an
+     * {@link com.sun.tools.attach.AttachNotSupportedException AttachNotSupportedException}
      * is thrown. Once parsed this method attempts to attach to the Java virtual machine.
      * If the provider detects that the identifier corresponds to a Java virtual machine
      * that does not exist, or it corresponds to a Java virtual machine that does not support
      * the attach mechanism implemented by this provider, or it detects that the
      * Java virtual machine is a version to which this provider cannot attach, then
-     * an <code>AttachNotSupportedException</code> is thrown. </p>
+     * an {@code AttachNotSupportedException} is thrown.
      *
      * @param  id
      *         The abstract identifier that identifies the Java virtual machine.
@@ -134,7 +134,7 @@
      * @throws  SecurityException
      *          If a security manager has been installed and it denies
      *          {@link com.sun.tools.attach.AttachPermission AttachPermission}
-     *          <tt>("attachVirtualMachine")</tt>, or other permission
+     *          ("{@code attachVirtualMachine}"), or other permission
      *          required by the implementation.
      *
      * @throws  AttachNotSupportedException
@@ -147,7 +147,7 @@
      *          If some other I/O error occurs
      *
      * @throws  NullPointerException
-     *          If <code>id</code> is <code>null</code>
+     *          If {@code id} is {@code null}
      */
     public abstract VirtualMachine attachVirtualMachine(String id)
         throws AttachNotSupportedException, IOException;
@@ -155,10 +155,10 @@
     /**
      * Attaches to a Java virtual machine.
      *
-     * <p> A Java virtual machine can be described using a {@link
-     * com.sun.tools.attach.VirtualMachineDescriptor VirtualMachineDescriptor}.
-     * This method invokes the descriptor's {@link
-     * com.sun.tools.attach.VirtualMachineDescriptor#provider() provider()} method
+     * <p> A Java virtual machine can be described using a
+     * {@link com.sun.tools.attach.VirtualMachineDescriptor VirtualMachineDescriptor}.
+     * This method invokes the descriptor's
+     * {@link com.sun.tools.attach.VirtualMachineDescriptor#provider() provider()} method
      * to check that it is equal to this provider. It then attempts to attach to the
      * Java virtual machine.
      *
@@ -170,20 +170,20 @@
      * @throws  SecurityException
      *          If a security manager has been installed and it denies
      *          {@link com.sun.tools.attach.AttachPermission AttachPermission}
-     *          <tt>("attachVirtualMachine")</tt>, or other permission
+     *          ("{@code attachVirtualMachine}"), or other permission
      *          required by the implementation.
      *
      * @throws  AttachNotSupportedException
-     *          If the descriptor's {@link
-     *          com.sun.tools.attach.VirtualMachineDescriptor#provider() provider()} method
-     *          returns a provider that is not this provider, or it does not correspond
-     *          to a Java virtual machine to which this provider can attach.
+     *          If the descriptor's
+     *          {@link com.sun.tools.attach.VirtualMachineDescriptor#provider() provider()}
+     *          method returns a provider that is not this provider, or it does not
+     *          correspond to a Java virtual machine to which this provider can attach.
      *
      * @throws  IOException
      *          If some other I/O error occurs
      *
      * @throws  NullPointerException
-     *          If <code>vmd</code> is <code>null</code>
+     *          If {@code vmd} is {@code null}
      */
     public VirtualMachine attachVirtualMachine(VirtualMachineDescriptor vmd)
         throws AttachNotSupportedException, IOException
@@ -197,12 +197,13 @@
     /**
      * Lists the Java virtual machines known to this provider.
      *
-     * <p> This method returns a list of {@link
-     * com.sun.tools.attach.VirtualMachineDescriptor} elements. Each
-     * <code>VirtualMachineDescriptor</code> describes a Java virtual machine
+     * <p> This method returns a list of
+     * {@link com.sun.tools.attach.VirtualMachineDescriptor} elements. Each
+     * {@code VirtualMachineDescriptor} describes a Java virtual machine
      * to which this provider can <i>potentially</i> attach.  There isn't any
-     * guarantee that invoking {@link #attachVirtualMachine(VirtualMachineDescriptor)
-     * attachVirtualMachine} on each descriptor in the list will succeed.
+     * guarantee that invoking
+     * {@link #attachVirtualMachine(VirtualMachineDescriptor) attachVirtualMachine}
+     * on each descriptor in the list will succeed.
      *
      * @return  The list of virtual machine descriptors which describe the
      *          Java virtual machines known to this provider (may be empty).
@@ -216,31 +217,31 @@
      * <p> An AttachProvider is installed on the platform if:
      *
      * <ul>
-     *   <li><p>It is installed in a JAR file that is visible to the defining
+     *   <li>It is installed in a JAR file that is visible to the defining
      *   class loader of the AttachProvider type (usually, but not required
      *   to be, the {@link java.lang.ClassLoader#getSystemClassLoader system
-     *   class loader}).</p></li>
+     *   class loader}).</li>
      *
-     *   <li><p>The JAR file contains a provider configuration named
-     *   <tt>com.sun.tools.attach.spi.AttachProvider</tt> in the resource directory
-     *   <tt>META-INF/services</tt>. </p></li>
+     *   <li>The JAR file contains a provider configuration named
+     *   {@code com.sun.tools.attach.spi.AttachProvider} in the resource directory
+     *   {@code META-INF/services}.</li>
      *
-     *   <li><p>The provider configuration file lists the full-qualified class
-     *   name of the AttachProvider implementation. </p></li>
+     *   <li>The provider configuration file lists the full-qualified class
+     *   name of the AttachProvider implementation.</li>
      * </ul>
      *
      * <p> The format of the provider configuration file is one fully-qualified
      * class name per line. Space and tab characters surrounding each class name,
      * as well as blank lines are ignored. The comment character is
-     *  <tt>'#'</tt> (<tt>0x23</tt>), and on each line all characters following
+     *  {@code '#'} ({@code 0x23}), and on each line all characters following
      * the first comment character are ignored. The file must be encoded in
-     * UTF-8. </p>
+     * UTF-8.
      *
      * <p> AttachProvider implementations are loaded and instantiated
      * (using the zero-arg constructor) at the first invocation of this method.
      * The list returned by the first invocation of this method is the list
      * of providers. Subsequent invocations of this method return a list of the same
-     * providers. The list is unmodifable.</p>
+     * providers. The list is unmodifable.
      *
      * @return  A list of the installed attach providers.
      */
--- a/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Filter.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Filter.java	Wed Apr 29 08:52:47 2015 -0700
@@ -72,7 +72,7 @@
          * exchange handler will not be invoked.
          * @param exchange the HttpExchange
          * @throws IOException let exceptions pass up the stack
-         * @throws NullPointerException if exchange is <code>null</code>
+         * @throws NullPointerException if exchange is {@code null}
          */
         public void doFilter (HttpExchange exchange) throws IOException {
             if (!iter.hasNext()) {
@@ -86,14 +86,14 @@
 
     /**
      * Asks this filter to pre/post-process the given exchange. The filter
-     * can :-
+     * can:
      * <ul><li>examine or modify the request headers</li>
      * <li>filter the request body or the response body, by creating suitable
      * filter streams and calling
      * {@link HttpExchange#setStreams(InputStream,OutputStream)}</li>
      * <li>set attribute Objects in the exchange, which other filters or the
      * exchange handler can access.</li>
-     * <li>decide to either :-<ol>
+     * <li>decide to either<ol>
      * <li>invoke the next filter in the chain, by calling
      * {@link Filter.Chain#doFilter(HttpExchange)}</li>
      * <li>terminate the chain of invocation, by <b>not</b> calling
@@ -102,12 +102,13 @@
      * filters in the Chain have been called, and the response headers can be
      * examined or modified.</li>
      * <li>if option 2. above taken, then this Filter must use the HttpExchange
-     * to send back an appropriate response</li></ul><p>
-     * @param exchange the <code>HttpExchange</code> to be filtered.
+     * to send back an appropriate response</li></ul>
+     *
+     * @param exchange the {@code HttpExchange} to be filtered.
      * @param chain the Chain which allows the next filter to be invoked.
      * @throws IOException may be thrown by any filter module, and if
      *          caught, must be rethrown again.
-     * @throws NullPointerException if either exchange or chain are <code>null</code>
+     * @throws NullPointerException if either exchange or chain are {@code null}
      */
     public abstract void doFilter (HttpExchange exchange, Chain chain)
         throws IOException;
--- a/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java	Wed Apr 29 08:52:47 2015 -0700
@@ -29,18 +29,21 @@
 
 /**
  * HTTP request and response headers are represented by this class which implements
- * the interface {@link java.util.Map}&lt;
- * {@link java.lang.String},{@link java.util.List}&lt;{@link java.lang.String}&gt;&gt;.
+ * the interface
+ * {@link java.util.Map}{@literal <}{@link java.lang.String}, {@link java.util.List}
+ * {@literal <}{@link java.lang.String}{@literal >>}.
  * The keys are case-insensitive Strings representing the header names and
- * the value associated with each key is a {@link List}&lt;{@link String}&gt; with one
+ * the value associated with each key is
+ * a {@link List}{@literal <}{@link String}{@literal >} with one
  * element for each occurrence of the header name in the request or response.
  * <p>
- * For example, if a response header instance contains one key "HeaderName" with two values "value1 and value2"
+ * For example, if a response header instance contains
+ * one key "HeaderName" with two values "value1 and value2"
  * then this object is output as two header lines:
  * <blockquote><pre>
  * HeaderName: value1
  * HeaderName: value2
- * </blockquote></pre>
+ * </pre></blockquote>
  * <p>
  * All the normal {@link java.util.Map} methods are provided, but the following
  * additional convenience methods are most likely to be used:
--- a/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpExchange.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpExchange.java	Wed Apr 29 08:52:47 2015 -0700
@@ -116,9 +116,9 @@
     public abstract HttpContext getHttpContext ();
 
     /**
-     * Ends this exchange by doing the following in sequence:<p><ol>
-     * <li>close the request InputStream, if not already closed<p></li>
-     * <li>close the response OutputStream, if not already closed. </li>
+     * Ends this exchange by doing the following in sequence:<ol>
+     * <li>close the request InputStream, if not already closed;</li>
+     * <li>close the response OutputStream, if not already closed.</li>
      * </ol>
      */
     public abstract void close () ;
@@ -163,9 +163,9 @@
      * and the numeric response code as specified in this method. The response body length is also specified
      * as follows. If the response length parameter is greater than zero, this specifies an exact
      * number of bytes to send and the application must send that exact amount of data.
-     * If the response length parameter is <code>zero</code>, then chunked transfer encoding is
+     * If the response length parameter is {@code zero}, then chunked transfer encoding is
      * used and an arbitrary amount of data may be sent. The application terminates the
-     * response body by closing the OutputStream. If response length has the value <code>-1</code>
+     * response body by closing the OutputStream. If response length has the value {@code -1}
      * then no response body is being sent.
      * <p>
      * If the content-length response header has not already been set then
@@ -192,7 +192,7 @@
 
     /**
      * Returns the response code, if it has already been set
-     * @return the response code, if available. <code>-1</code> if not available yet.
+     * @return the response code, if available. {@code -1} if not available yet.
      */
     public abstract int getResponseCode ();
 
@@ -219,7 +219,7 @@
      * available.
      * @param name the name of the attribute to retrieve
      * @return the attribute object, or null if it does not exist
-     * @throws NullPointerException if name is <code>null</code>
+     * @throws NullPointerException if name is {@code null}
      */
     public abstract Object getAttribute (String name) ;
 
@@ -231,9 +231,9 @@
      * Each Filter class will document the attributes which they make
      * available.
      * @param name the name to associate with the attribute value
-     * @param value the object to store as the attribute value. <code>null</code>
+     * @param value the object to store as the attribute value. {@code null}
      * value is permitted.
-     * @throws NullPointerException if name is <code>null</code>
+     * @throws NullPointerException if name is {@code null}
      */
     public abstract void setAttribute (String name, Object value) ;
 
@@ -248,9 +248,9 @@
      * required to be) sub-classes of {@link java.io.FilterInputStream}
      * and {@link java.io.FilterOutputStream}.
      * @param i the filtered input stream to set as this object's inputstream,
-     *          or <code>null</code> if no change.
+     *          or {@code null} if no change.
      * @param o the filtered output stream to set as this object's outputstream,
-     *          or <code>null</code> if no change.
+     *          or {@code null} if no change.
      */
     public abstract void setStreams (InputStream i, OutputStream o);
 
@@ -259,7 +259,7 @@
      * If an authenticator is set on the HttpContext that owns this exchange,
      * then this method will return the {@link HttpPrincipal} that represents
      * the authenticated user for this HttpExchange.
-     * @return the HttpPrincipal, or <code>null</code> if no authenticator is set.
+     * @return the HttpPrincipal, or {@code null} if no authenticator is set.
      */
     public abstract HttpPrincipal getPrincipal ();
 }
--- a/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java	Wed Apr 29 08:52:47 2015 -0700
@@ -58,8 +58,8 @@
  * whose path is the longest matching prefix of the request URI's path.
  * Paths are matched literally, which means that the strings are compared
  * case sensitively, and with no conversion to or from any encoded forms.
- * For example. Given a HttpServer with the following HttpContexts configured.<p>
- * <table >
+ * For example. Given a HttpServer with the following HttpContexts configured.
+ * <table>
  * <tr><td><i>Context</i></td><td><i>Context path</i></td></tr>
  * <tr><td>ctx1</td><td>"/"</td></tr>
  * <tr><td>ctx2</td><td>"/apps/"</td></tr>
@@ -67,7 +67,7 @@
  * </table>
  * <p>
  * the following table shows some request URIs and which, if any context they would
- * match with.<p>
+ * match with.
  * <table>
  * <tr><td><i>Request URI</i></td><td><i>Matches context</i></td></tr>
  * <tr><td>"http://foo.com/apps/foo/bar"</td><td>ctx3</td></tr>
@@ -181,7 +181,7 @@
      * approximately <i>delay</i> seconds have elapsed (whichever happens
      * sooner). Then, all open TCP connections are closed, the background
      * thread created by start() exits, and the method returns.
-     * Once stopped, a HttpServer cannot be re-used. <p>
+     * Once stopped, a HttpServer cannot be re-used.
      *
      * @param delay the maximum time in seconds to wait until exchanges have finished.
      * @throws IllegalArgumentException if delay is less than zero.
--- a/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsConfigurator.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsConfigurator.java	Wed Apr 29 08:52:47 2015 -0700
@@ -42,8 +42,8 @@
  * the default configuration.
  * <p>
  * The following <a name="example">example</a> shows how this may be done:
- * <p>
- * <pre><blockquote>
+ *
+ * <blockquote><pre>
  * SSLContext sslContext = SSLContext.getInstance (....);
  * HttpsServer server = HttpsServer.create();
  *
@@ -64,7 +64,7 @@
  *         params.setSSLParameters(sslparams);
  *     }
  * });
- * </blockquote></pre>
+ * </pre></blockquote>
  * @since 1.6
  */
 @jdk.Exported
@@ -102,7 +102,7 @@
     * <p>
     * The default implementation of this method uses the
     * SSLParameters returned from <p>
-    * <code>getSSLContext().getDefaultSSLParameters()</code>
+    * {@code getSSLContext().getDefaultSSLParameters()}
     * <p>
     * configure() may be overridden in order to modify this behavior.
     * See, the example <a href="#example">above</a>.
--- a/src/jdk.httpserver/share/classes/com/sun/net/httpserver/package-info.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.httpserver/share/classes/com/sun/net/httpserver/package-info.java	Wed Apr 29 08:52:47 2015 -0700
@@ -58,7 +58,7 @@
    server.createContext("/applications/myapp", new MyHandler());
    server.setExecutor(null); // creates a default executor
    server.start();
-   </blockquote></pre>
+   </pre></blockquote>
    <p>The example above creates a simple HttpServer which uses the calling
    application thread to invoke the handle() method for incoming http
    requests directed to port 8000, and to the path /applications/myapp/.
@@ -92,7 +92,7 @@
 
    SSLContext ssl = SSLContext.getInstance("TLS");
    ssl.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
-   </blockquote></pre>
+   </pre></blockquote>
    <p>
    In the example above, a keystore file called "testkeys", created with the keytool utility
    is used as a certificate store for client and server certificates.
@@ -119,8 +119,8 @@
 
         }
     });
-   </blockquote></pre>
-   <p>
+   </pre></blockquote>
+
    @since 1.6
  */
 @jdk.Exported
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/NTDomainPrincipal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/NTDomainPrincipal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -28,19 +28,19 @@
 import java.security.Principal;
 
 /**
- * <p> This class implements the <code>Principal</code> interface
+ * This class implements the {@code Principal} interface
  * and represents the name of the Windows NT domain into which the
  * user authenticated.  This will be a domain name if the user logged
  * into a Windows NT domain, a workgroup name if the user logged into
  * a workgroup, or a machine name if the user logged into a standalone
  * configuration.
  *
- * <p> Principals such as this <code>NTDomainPrincipal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code NTDomainPrincipal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  *
  * @see java.security.Principal
  * @see javax.security.auth.Subject
@@ -56,14 +56,12 @@
     private String name;
 
     /**
-     * Create an <code>NTDomainPrincipal</code> with a Windows NT domain name.
+     * Create an {@code NTDomainPrincipal} with a Windows NT domain name.
      *
-     * <p>
+     * @param name the Windows NT domain name for this user.
      *
-     * @param name the Windows NT domain name for this user. <p>
-     *
-     * @exception NullPointerException if the <code>name</code>
-     *                  is <code>null</code>.
+     * @exception NullPointerException if the {@code name}
+     *                  is {@code null}.
      */
     public NTDomainPrincipal(String name) {
         if (name == null) {
@@ -79,23 +77,19 @@
 
     /**
      * Return the Windows NT domain name for this
-     * <code>NTDomainPrincipal</code>.
-     *
-     * <p>
+     * {@code NTDomainPrincipal}.
      *
      * @return the Windows NT domain name for this
-     *                  <code>NTDomainPrincipal</code>
+     *                  {@code NTDomainPrincipal}
      */
     public String getName() {
         return name;
     }
 
     /**
-     * Return a string representation of this <code>NTDomainPrincipal</code>.
+     * Return a string representation of this {@code NTDomainPrincipal}.
      *
-     * <p>
-     *
-     * @return a string representation of this <code>NTDomainPrincipal</code>.
+     * @return a string representation of this {@code NTDomainPrincipal}.
      */
     public String toString() {
         java.text.MessageFormat form = new java.text.MessageFormat
@@ -107,18 +101,16 @@
     }
 
     /**
-     * Compares the specified Object with this <code>NTDomainPrincipal</code>
+     * Compares the specified Object with this {@code NTDomainPrincipal}
      * for equality.  Returns true if the given object is also a
-     * <code>NTDomainPrincipal</code> and the two NTDomainPrincipals
+     * {@code NTDomainPrincipal} and the two NTDomainPrincipals
      * have the same name.
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>NTDomainPrincipal</code>.
+     *          {@code NTDomainPrincipal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>NTDomainPrincipal</code>.
+     *          {@code NTDomainPrincipal}.
      */
     public boolean equals(Object o) {
         if (o == null)
@@ -137,11 +129,9 @@
     }
 
     /**
-     * Return a hash code for this <code>NTDomainPrincipal</code>.
+     * Return a hash code for this {@code NTDomainPrincipal}.
      *
-     * <p>
-     *
-     * @return a hash code for this <code>NTDomainPrincipal</code>.
+     * @return a hash code for this {@code NTDomainPrincipal}.
      */
     public int hashCode() {
         return this.getName().hashCode();
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/NTNumericCredential.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/NTNumericCredential.java	Wed Apr 29 08:52:47 2015 -0700
@@ -26,9 +26,8 @@
 package com.sun.security.auth;
 
 /**
- * <p> This class abstracts an NT security token
+ * This class abstracts an NT security token
  * and provides a mechanism to do same-process security impersonation.
- *
  */
 
 @jdk.Exported
@@ -37,12 +36,9 @@
     private long impersonationToken;
 
     /**
-     * Create an <code>NTNumericCredential</code> with an integer value.
+     * Create an {@code NTNumericCredential} with an integer value.
      *
-     * <p>
-     *
-     * @param token the Windows NT security token for this user. <p>
-     *
+     * @param token the Windows NT security token for this user.
      */
     public NTNumericCredential(long token) {
         this.impersonationToken = token;
@@ -50,23 +46,19 @@
 
     /**
      * Return an integer representation of this
-     * <code>NTNumericCredential</code>.
-     *
-     * <p>
+     * {@code NTNumericCredential}.
      *
      * @return an integer representation of this
-     *          <code>NTNumericCredential</code>.
+     *          {@code NTNumericCredential}.
      */
     public long getToken() {
         return impersonationToken;
     }
 
     /**
-     * Return a string representation of this <code>NTNumericCredential</code>.
+     * Return a string representation of this {@code NTNumericCredential}.
      *
-     * <p>
-     *
-     * @return a string representation of this <code>NTNumericCredential</code>.
+     * @return a string representation of this {@code NTNumericCredential}.
      */
     public String toString() {
         java.text.MessageFormat form = new java.text.MessageFormat
@@ -78,18 +70,16 @@
     }
 
     /**
-     * Compares the specified Object with this <code>NTNumericCredential</code>
+     * Compares the specified Object with this {@code NTNumericCredential}
      * for equality.  Returns true if the given object is also a
-     * <code>NTNumericCredential</code> and the two NTNumericCredentials
+     * {@code NTNumericCredential} and the two NTNumericCredentials
      * represent the same NT security token.
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>NTNumericCredential</code>.
+     *          {@code NTNumericCredential}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>NTNumericCredential</code>.
+     *          {@code NTNumericCredential}.
      */
     public boolean equals(Object o) {
         if (o == null)
@@ -108,11 +98,9 @@
     }
 
     /**
-     * Return a hash code for this <code>NTNumericCredential</code>.
+     * Return a hash code for this {@code NTNumericCredential}.
      *
-     * <p>
-     *
-     * @return a hash code for this <code>NTNumericCredential</code>.
+     * @return a hash code for this {@code NTNumericCredential}.
      */
     public int hashCode() {
         return (int)this.impersonationToken;
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSid.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSid.java	Wed Apr 29 08:52:47 2015 -0700
@@ -28,7 +28,7 @@
 import java.security.Principal;
 
 /**
- * <p> This class implements the <code>Principal</code> interface
+ * This class implements the {@code Principal} interface
  * and represents information about a Windows NT user, group or realm.
  *
  * <p> Windows NT chooses to represent users, groups and realms (or domains)
@@ -37,12 +37,12 @@
  * also provides services that render these SIDs into string forms.
  * This class represents these string forms.
  *
- * <p> Principals such as this <code>NTSid</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code NTSid}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  *
  * @see java.security.Principal
  * @see javax.security.auth.Subject
@@ -58,16 +58,14 @@
     private String sid;
 
     /**
-     * Create an <code>NTSid</code> with a Windows NT SID.
+     * Create an {@code NTSid} with a Windows NT SID.
      *
-     * <p>
+     * @param stringSid the Windows NT SID.
      *
-     * @param stringSid the Windows NT SID. <p>
+     * @exception NullPointerException if the {@code String}
+     *                  is {@code null}.
      *
-     * @exception NullPointerException if the <code>String</code>
-     *                  is <code>null</code>.
-     *
-     * @exception IllegalArgumentException if the <code>String</code>
+     * @exception IllegalArgumentException if the {@code String}
      *                  has zero length.
      */
     public NTSid (String stringSid) {
@@ -89,22 +87,18 @@
     }
 
     /**
-     * Return a string version of this <code>NTSid</code>.
+     * Return a string version of this {@code NTSid}.
      *
-     * <p>
-     *
-     * @return a string version of this <code>NTSid</code>
+     * @return a string version of this {@code NTSid}
      */
     public String getName() {
         return sid;
     }
 
     /**
-     * Return a string representation of this <code>NTSid</code>.
+     * Return a string representation of this {@code NTSid}.
      *
-     * <p>
-     *
-     * @return a string representation of this <code>NTSid</code>.
+     * @return a string representation of this {@code NTSid}.
      */
     public String toString() {
         java.text.MessageFormat form = new java.text.MessageFormat
@@ -116,18 +110,16 @@
     }
 
     /**
-     * Compares the specified Object with this <code>NTSid</code>
+     * Compares the specified Object with this {@code NTSid}
      * for equality.  Returns true if the given object is also a
-     * <code>NTSid</code> and the two NTSids have the same String
+     * {@code NTSid} and the two NTSids have the same String
      * representation.
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>NTSid</code>.
+     *          {@code NTSid}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>NTSid</code>.
+     *          {@code NTSid}.
      */
     public boolean equals(Object o) {
         if (o == null)
@@ -147,11 +139,9 @@
     }
 
     /**
-     * Return a hash code for this <code>NTSid</code>.
+     * Return a hash code for this {@code NTSid}.
      *
-     * <p>
-     *
-     * @return a hash code for this <code>NTSid</code>.
+     * @return a hash code for this {@code NTSid}.
      */
     public int hashCode() {
         return sid.hashCode();
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -26,19 +26,19 @@
 package com.sun.security.auth;
 
 /**
- * <p> This class extends <code>NTSid</code>
+ * This class extends {@code NTSid}
  * and represents a Windows NT user's domain SID.
  *
  * <p> An NT user only has a domain SID if in fact they are logged
  * into an NT domain.  If the user is logged into a workgroup or
  * just a standalone configuration, they will NOT have a domain SID.
  *
- * <p> Principals such as this <code>NTSidDomainPrincipal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code NTSidDomainPrincipal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  *
  * @see java.security.Principal
  * @see javax.security.auth.Subject
@@ -49,27 +49,23 @@
     private static final long serialVersionUID = 5247810785821650912L;
 
     /**
-     * Create an <code>NTSidDomainPrincipal</code> with a Windows NT SID.
-     *
-     * <p>
+     * Create an {@code NTSidDomainPrincipal} with a Windows NT SID.
      *
      * @param name a string version of the Windows NT SID for this
-     *                  user's domain.<p>
+     *                  user's domain.
      *
-     * @exception NullPointerException if the <code>name</code>
-     *                  is <code>null</code>.
+     * @exception NullPointerException if the {@code name}
+     *                  is {@code null}.
      */
     public NTSidDomainPrincipal(String name) {
         super(name);
     }
 
     /**
-     * Return a string representation of this <code>NTSidDomainPrincipal</code>.
-     *
-     * <p>
+     * Return a string representation of this {@code NTSidDomainPrincipal}.
      *
      * @return a string representation of this
-     *          <code>NTSidDomainPrincipal</code>.
+     *          {@code NTSidDomainPrincipal}.
      */
     public String toString() {
         java.text.MessageFormat form = new java.text.MessageFormat
@@ -81,18 +77,16 @@
     }
 
     /**
-     * Compares the specified Object with this <code>NTSidDomainPrincipal</code>
+     * Compares the specified Object with this {@code NTSidDomainPrincipal}
      * for equality.  Returns true if the given object is also a
-     * <code>NTSidDomainPrincipal</code> and the two NTSidDomainPrincipals
+     * {@code NTSidDomainPrincipal} and the two NTSidDomainPrincipals
      * have the same SID.
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>NTSidDomainPrincipal</code>.
+     *          {@code NTSidDomainPrincipal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>NTSidDomainPrincipal</code>.
+     *          {@code NTSidDomainPrincipal}.
      */
     public boolean equals(Object o) {
             if (o == null)
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -26,15 +26,15 @@
 package com.sun.security.auth;
 
 /**
- * <p> This class extends <code>NTSid</code>
+ * This class extends {@code NTSid}
  * and represents one of the groups to which a Windows NT user belongs.
  *
- * <p> Principals such as this <code>NTSidGroupPrincipal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code NTSidGroupPrincipal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  *
  * @see java.security.Principal
  * @see javax.security.auth.Subject
@@ -46,25 +46,21 @@
     private static final long serialVersionUID = -1373347438636198229L;
 
     /**
-     * Create an <code>NTSidGroupPrincipal</code> with a Windows NT group name.
+     * Create an {@code NTSidGroupPrincipal} with a Windows NT group name.
      *
-     * <p>
+     * @param name the Windows NT group SID for this user.
      *
-     * @param name the Windows NT group SID for this user. <p>
-     *
-     * @exception NullPointerException if the <code>name</code>
-     *                  is <code>null</code>.
+     * @exception NullPointerException if the {@code name}
+     *                  is {@code null}.
      */
     public NTSidGroupPrincipal(String name) {
         super(name);
     }
 
     /**
-     * Return a string representation of this <code>NTSidGroupPrincipal</code>.
+     * Return a string representation of this {@code NTSidGroupPrincipal}.
      *
-     * <p>
-     *
-     * @return a string representation of this <code>NTSidGroupPrincipal</code>.
+     * @return a string representation of this {@code NTSidGroupPrincipal}.
      */
     public String toString() {
         java.text.MessageFormat form = new java.text.MessageFormat
@@ -76,18 +72,16 @@
     }
 
     /**
-     * Compares the specified Object with this <code>NTSidGroupPrincipal</code>
+     * Compares the specified Object with this {@code NTSidGroupPrincipal}
      * for equality.  Returns true if the given object is also a
-     * <code>NTSidGroupPrincipal</code> and the two NTSidGroupPrincipals
+     * {@code NTSidGroupPrincipal} and the two NTSidGroupPrincipals
      * have the same SID.
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>NTSidGroupPrincipal</code>.
+     *          {@code NTSidGroupPrincipal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>NTSidGroupPrincipal</code>.
+     *          {@code NTSidGroupPrincipal}.
      */
     public boolean equals(Object o) {
             if (o == null)
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -26,15 +26,15 @@
 package com.sun.security.auth;
 
 /**
- * <p> This class extends <code>NTSid</code>
+ * This class extends {@code NTSid}
  * and represents a Windows NT user's primary group SID.
  *
- * <p> Principals such as this <code>NTSidPrimaryGroupPrincipal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code NTSidPrimaryGroupPrincipal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  *
  * @see java.security.Principal
  * @see javax.security.auth.Subject
@@ -45,15 +45,13 @@
     private static final long serialVersionUID = 8011978367305190527L;
 
     /**
-     * Create an <code>NTSidPrimaryGroupPrincipal</code> with a Windows NT
+     * Create an {@code NTSidPrimaryGroupPrincipal} with a Windows NT
      * group SID.
      *
-     * <p>
+     * @param name the primary Windows NT group SID for this user.
      *
-     * @param name the primary Windows NT group SID for this user. <p>
-     *
-     * @exception NullPointerException if the <code>name</code>
-     *            is <code>null</code>.
+     * @exception NullPointerException if the {@code name}
+     *            is {@code null}.
      */
     public NTSidPrimaryGroupPrincipal(String name) {
         super(name);
@@ -61,12 +59,10 @@
 
     /**
      * Return a string representation of this
-     * <code>NTSidPrimaryGroupPrincipal</code>.
-     *
-     * <p>
+     * {@code NTSidPrimaryGroupPrincipal}.
      *
      * @return a string representation of this
-     *          <code>NTSidPrimaryGroupPrincipal</code>.
+     *          {@code NTSidPrimaryGroupPrincipal}.
      */
     public String toString() {
         java.text.MessageFormat form = new java.text.MessageFormat
@@ -79,18 +75,16 @@
 
     /**
      * Compares the specified Object with this
-     * <code>NTSidPrimaryGroupPrincipal</code>
+     * {@code NTSidPrimaryGroupPrincipal}
      * for equality.  Returns true if the given object is also a
-     * <code>NTSidPrimaryGroupPrincipal</code> and the two
+     * {@code NTSidPrimaryGroupPrincipal} and the two
      * NTSidPrimaryGroupPrincipals have the same SID.
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>NTSidPrimaryGroupPrincipal</code>.
+     *          {@code NTSidPrimaryGroupPrincipal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>NTSidPrimaryGroupPrincipal</code>.
+     *          {@code NTSidPrimaryGroupPrincipal}.
      */
     public boolean equals(Object o) {
             if (o == null)
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidUserPrincipal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidUserPrincipal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -26,15 +26,15 @@
 package com.sun.security.auth;
 
 /**
- * <p> This class extends <code>NTSid</code>
+ * This class extends {@code NTSid}
  * and represents a Windows NT user's SID.
  *
- * <p> Principals such as this <code>NTSidUserPrincipal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code NTSidUserPrincipal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  *
  * @see java.security.Principal
  * @see javax.security.auth.Subject
@@ -45,25 +45,21 @@
     private static final long serialVersionUID = -5573239889517749525L;
 
     /**
-     * Create an <code>NTSidUserPrincipal</code> with a Windows NT SID.
+     * Create an {@code NTSidUserPrincipal} with a Windows NT SID.
      *
-     * <p>
+     * @param name a string version of the Windows NT SID for this user.
      *
-     * @param name a string version of the Windows NT SID for this user.<p>
-     *
-     * @exception NullPointerException if the <code>name</code>
-     *                  is <code>null</code>.
+     * @exception NullPointerException if the {@code name}
+     *                  is {@code null}.
      */
     public NTSidUserPrincipal(String name) {
         super(name);
     }
 
     /**
-     * Return a string representation of this <code>NTSidUserPrincipal</code>.
+     * Return a string representation of this {@code NTSidUserPrincipal}.
      *
-     * <p>
-     *
-     * @return a string representation of this <code>NTSidUserPrincipal</code>.
+     * @return a string representation of this {@code NTSidUserPrincipal}.
      */
     public String toString() {
         java.text.MessageFormat form = new java.text.MessageFormat
@@ -75,18 +71,16 @@
     }
 
     /**
-     * Compares the specified Object with this <code>NTSidUserPrincipal</code>
+     * Compares the specified Object with this {@code NTSidUserPrincipal}
      * for equality.  Returns true if the given object is also a
-     * <code>NTSidUserPrincipal</code> and the two NTSidUserPrincipals
+     * {@code NTSidUserPrincipal} and the two NTSidUserPrincipals
      * have the same SID.
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>NTSidUserPrincipal</code>.
+     *          {@code NTSidUserPrincipal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>NTSidUserPrincipal</code>.
+     *          {@code NTSidUserPrincipal}.
      */
     public boolean equals(Object o) {
             if (o == null)
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/NTUserPrincipal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/NTUserPrincipal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -28,15 +28,15 @@
 import java.security.Principal;
 
 /**
- * <p> This class implements the <code>Principal</code> interface
+ * This class implements the {@code Principal} interface
  * and represents a Windows NT user.
  *
- * <p> Principals such as this <code>NTUserPrincipal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code NTUserPrincipal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  *
  * @see java.security.Principal
  * @see javax.security.auth.Subject
@@ -52,14 +52,12 @@
     private String name;
 
     /**
-     * Create an <code>NTUserPrincipal</code> with a Windows NT username.
+     * Create an {@code NTUserPrincipal} with a Windows NT username.
      *
-     * <p>
+     * @param name the Windows NT username for this user.
      *
-     * @param name the Windows NT username for this user. <p>
-     *
-     * @exception NullPointerException if the <code>name</code>
-     *            is <code>null</code>.
+     * @exception NullPointerException if the {@code name}
+     *            is {@code null}.
      */
     public NTUserPrincipal(String name) {
         if (name == null) {
@@ -74,22 +72,18 @@
     }
 
     /**
-     * Return the Windows NT username for this <code>NTPrincipal</code>.
+     * Return the Windows NT username for this {@code NTPrincipal}.
      *
-     * <p>
-     *
-     * @return the Windows NT username for this <code>NTPrincipal</code>
+     * @return the Windows NT username for this {@code NTPrincipal}
      */
     public String getName() {
         return name;
     }
 
     /**
-     * Return a string representation of this <code>NTPrincipal</code>.
+     * Return a string representation of this {@code NTPrincipal}.
      *
-     * <p>
-     *
-     * @return a string representation of this <code>NTPrincipal</code>.
+     * @return a string representation of this {@code NTPrincipal}.
      */
     public String toString() {
         java.text.MessageFormat form = new java.text.MessageFormat
@@ -101,18 +95,16 @@
     }
 
     /**
-     * Compares the specified Object with this <code>NTUserPrincipal</code>
+     * Compares the specified Object with this {@code NTUserPrincipal}
      * for equality.  Returns true if the given object is also a
-     * <code>NTUserPrincipal</code> and the two NTUserPrincipals
+     * {@code NTUserPrincipal} and the two NTUserPrincipals
      * have the same name.
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>NTPrincipal</code>.
+     *          {@code NTPrincipal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>NTPrincipal</code>.
+     *          {@code NTPrincipal}.
      */
     public boolean equals(Object o) {
             if (o == null)
@@ -131,11 +123,9 @@
     }
 
     /**
-     * Return a hash code for this <code>NTUserPrincipal</code>.
+     * Return a hash code for this {@code NTUserPrincipal}.
      *
-     * <p>
-     *
-     * @return a hash code for this <code>NTUserPrincipal</code>.
+     * @return a hash code for this {@code NTUserPrincipal}.
      */
     public int hashCode() {
             return this.getName().hashCode();
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/PolicyFile.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/PolicyFile.java	Wed Apr 29 08:52:47 2015 -0700
@@ -31,25 +31,25 @@
 
 /**
  * This class represents a default implementation for
- * <code>javax.security.auth.Policy</code>.
+ * {@code javax.security.auth.Policy}.
  *
  * <p> This object stores the policy for entire Java runtime,
  * and is the amalgamation of multiple static policy
  * configurations that resides in files.
  * The algorithm for locating the policy file(s) and reading their
- * information into this <code>Policy</code> object is:
+ * information into this {@code Policy} object is:
  *
  * <ol>
  * <li>
  *   Loop through the security properties,
  *   <i>auth.policy.url.1</i>, <i>auth.policy.url.2</i>, ...,
  *   <i>auth.policy.url.X</i>".
- *   Each property value specifies a <code>URL</code> pointing to a
+ *   Each property value specifies a {@code URL} pointing to a
  *   policy file to be loaded.  Read in and load each policy.
  *
  * <li>
- *   The <code>java.lang.System</code> property <i>java.security.auth.policy</i>
- *   may also be set to a <code>URL</code> pointing to another policy file
+ *   The {@code java.lang.System} property <i>java.security.auth.policy</i>
+ *   may also be set to a {@code URL} pointing to another policy file
  *   (which is the case when a user uses the -D switch at runtime).
  *   If this property is defined, and its use is allowed by the
  *   security property file (the Security property,
@@ -83,35 +83,35 @@
  * doesn't matter and some are optional, as noted below).
  * Italicized items represent variable values.
  *
- * <p> A grant entry must begin with the word <code>grant</code>.
- * The <code>signedBy</code> and <code>codeBase</code>
+ * <p> A grant entry must begin with the word {@code grant}.
+ * The {@code signedBy} and {@code codeBase}
  * name/value pairs are optional.
  * If they are not present, then any signer (including unsigned code)
  * will match, and any codeBase will match.  Note that the
- * <code>principal</code> name/value pair is not optional.
- * This <code>Policy</code> implementation only permits
+ * {@code principal} name/value pair is not optional.
+ * This {@code Policy} implementation only permits
  * Principal-based grant entries.  Note that the <i>principalClass</i>
  * may be set to the wildcard value, *, which allows it to match
- * any <code>Principal</code> class.  In addition, the <i>principalName</i>
+ * any {@code Principal} class.  In addition, the <i>principalName</i>
  * may also be set to the wildcard value, *, allowing it to match
- * any <code>Principal</code> name.  When setting the <i>principalName</i>
+ * any {@code Principal} name.  When setting the <i>principalName</i>
  * to the *, do not surround the * with quotes.
  *
- * <p> A permission entry must begin with the word <code>permission</code>.
- * The word <code><i>Type</i></code> in the template above is
- * a specific permission type, such as <code>java.io.FilePermission</code>
- * or <code>java.lang.RuntimePermission</code>.
+ * <p> A permission entry must begin with the word {@code permission}.
+ * The word <i>{@code Type}</i> in the template above is
+ * a specific permission type, such as {@code java.io.FilePermission}
+ * or {@code java.lang.RuntimePermission}.
  *
  * <p> The "<i>action</i>" is required for
- * many permission types, such as <code>java.io.FilePermission</code>
+ * many permission types, such as {@code java.io.FilePermission}
  * (where it specifies what type of file access that is permitted).
  * It is not required for categories such as
- * <code>java.lang.RuntimePermission</code>
+ * {@code java.lang.RuntimePermission}
  * where it is not necessary - you either have the
- * permission specified by the <code>"<i>name</i>"</code>
+ * permission specified by the "<i>{@code name}</i>"
  * value following the type name or you don't.
  *
- * <p> The <code>signedBy</code> name/value pair for a permission entry
+ * <p> The {@code signedBy} name/value pair for a permission entry
  * is optional. If present, it indicates a signed permission. That is,
  * the permission class itself must be signed by the given alias in
  * order for it to be granted. For example,
@@ -124,18 +124,18 @@
  * </pre>
  *
  * <p> Then this permission of type <i>Foo</i> is granted if the
- * <code>Foo.class</code> permission has been signed by the
- * "FooSoft" alias, or if <code>Foo.class</code> is a
+ * {@code Foo.class} permission has been signed by the
+ * "FooSoft" alias, or if {@code Foo.class} is a
  * system class (i.e., is found on the CLASSPATH).
  *
  * <p> Items that appear in an entry must appear in the specified order
- * (<code>permission</code>, <i>Type</i>, "<i>name</i>", and
+ * ({@code permission}, <i>Type</i>, "<i>name</i>", and
  * "<i>action</i>"). An entry is terminated with a semicolon.
  *
- * <p> Case is unimportant for the identifiers (<code>permission</code>,
- * <code>signedBy</code>, <code>codeBase</code>, etc.) but is
+ * <p> Case is unimportant for the identifiers ({@code permission},
+ * {@code signedBy}, {@code codeBase}, etc.) but is
  * significant for the <i>Type</i>
- * or for any string that is passed in as a value. <p>
+ * or for any string that is passed in as a value.
  *
  * <p> An example of two entries in a policy configuration file is
  * <pre>
@@ -153,15 +153,15 @@
  *         permission java.util.PropertyPermission "java.vendor";
  * </pre>
  *
- * <p> This <code>Policy</code> implementation supports
+ * <p> This {@code Policy} implementation supports
  * special handling for PrivateCredentialPermissions.
  * If a grant entry is configured with a
- * <code>PrivateCredentialPermission</code>,
+ * {@code PrivateCredentialPermission},
  * and the "Principal Class/Principal Name" for that
- * <code>PrivateCredentialPermission</code> is "self",
- * then the entry grants the specified <code>Subject</code> permission to
+ * {@code PrivateCredentialPermission} is "self",
+ * then the entry grants the specified {@code Subject} permission to
  * access its own private Credential.  For example,
- * the following grants the <code>Subject</code> "Duke"
+ * the following grants the {@code Subject} "Duke"
  * access to its own a.b.Credential.
  *
  * <pre>
@@ -172,7 +172,7 @@
  *    };
  * </pre>
  *
- * The following grants the <code>Subject</code> "Duke"
+ * The following grants the {@code Subject} "Duke"
  * access to all of its own private Credentials:
  *
  * <pre>
@@ -184,7 +184,7 @@
  * </pre>
  *
  * The following grants all Subjects authenticated as a
- * <code>SolarisPrincipal</code> (regardless of their respective names)
+ * {@code SolarisPrincipal} (regardless of their respective names)
  * permission to access their own private Credentials:
  *
  * <pre>
@@ -207,7 +207,7 @@
  * </pre>
 
  * @deprecated As of JDK&nbsp;1.4, replaced by
- *             <code>sun.security.provider.PolicyFile</code>.
+ *             {@code sun.security.provider.PolicyFile}.
  *             This class is entirely deprecated.
  *
  * @see java.security.CodeSource
@@ -232,10 +232,8 @@
     /**
      * Refreshes the policy object by re-reading all the policy files.
      *
-     * <p>
-     *
      * @exception SecurityException if the caller doesn't have permission
-     *          to refresh the <code>Policy</code>.
+     *          to refresh the {@code Policy}.
      */
     @Override
     public void refresh() {
@@ -243,59 +241,56 @@
     }
 
     /**
-     * Examines this <code>Policy</code> and returns the Permissions granted
-     * to the specified <code>Subject</code> and <code>CodeSource</code>.
+     * Examines this {@code Policy} and returns the Permissions granted
+     * to the specified {@code Subject} and {@code CodeSource}.
      *
      * <p> Permissions for a particular <i>grant</i> entry are returned
-     * if the <code>CodeSource</code> constructed using the codebase and
-     * signedby values specified in the entry <code>implies</code>
-     * the <code>CodeSource</code> provided to this method, and if the
-     * <code>Subject</code> provided to this method contains all of the
+     * if the {@code CodeSource} constructed using the codebase and
+     * signedby values specified in the entry {@code implies}
+     * the {@code CodeSource} provided to this method, and if the
+     * {@code Subject} provided to this method contains all of the
      * Principals specified in the entry.
      *
-     * <p> The <code>Subject</code> provided to this method contains all
+     * <p> The {@code Subject} provided to this method contains all
      * of the Principals specified in the entry if, for each
-     * <code>Principal</code>, "P1", specified in the <i>grant</i> entry
+     * {@code Principal}, "P1", specified in the <i>grant</i> entry
      * one of the following two conditions is met:
      *
-     * <p>
      * <ol>
-     * <li> the <code>Subject</code> has a
-     *      <code>Principal</code>, "P2", where
-     *      <code>P2.getClass().getName()</code> equals the
+     * <li> the {@code Subject} has a
+     *      {@code Principal}, "P2", where
+     *      {@code P2.getClass().getName()} equals the
      *      P1's class name, and where
-     *      <code>P2.getName()</code> equals the P1's name.
+     *      {@code P2.getName()} equals the P1's name.
      *
      * <li> P1 implements
-     *      <code>com.sun.security.auth.PrincipalComparator</code>,
-     *      and <code>P1.implies</code> the provided <code>Subject</code>.
+     *      {@code com.sun.security.auth.PrincipalComparator},
+     *      and {@code P1.implies} the provided {@code Subject}.
      * </ol>
      *
-     * <p> Note that this <code>Policy</code> implementation has
+     * <p> Note that this {@code Policy} implementation has
      * special handling for PrivateCredentialPermissions.
-     * When this method encounters a <code>PrivateCredentialPermission</code>
-     * which specifies "self" as the <code>Principal</code> class and name,
-     * it does not add that <code>Permission</code> to the returned
-     * <code>PermissionCollection</code>.  Instead, it builds
-     * a new <code>PrivateCredentialPermission</code>
-     * for each <code>Principal</code> associated with the provided
-     * <code>Subject</code>.  Each new <code>PrivateCredentialPermission</code>
+     * When this method encounters a {@code PrivateCredentialPermission}
+     * which specifies "self" as the {@code Principal} class and name,
+     * it does not add that {@code Permission} to the returned
+     * {@code PermissionCollection}.  Instead, it builds
+     * a new {@code PrivateCredentialPermission}
+     * for each {@code Principal} associated with the provided
+     * {@code Subject}.  Each new {@code PrivateCredentialPermission}
      * contains the same Credential class as specified in the
      * originally granted permission, as well as the Class and name
-     * for the respective <code>Principal</code>.
+     * for the respective {@code Principal}.
      *
-     * <p>
-     *
-     * @param subject the Permissions granted to this <code>Subject</code>
-     *          and the additionally provided <code>CodeSource</code>
-     *          are returned. <p>
-     *
-     * @param codesource the Permissions granted to this <code>CodeSource</code>
-     *          and the additionally provided <code>Subject</code>
+     * @param subject the Permissions granted to this {@code Subject}
+     *          and the additionally provided {@code CodeSource}
      *          are returned.
      *
-     * @return the Permissions granted to the provided <code>Subject</code>
-     *          <code>CodeSource</code>.
+     * @param codesource the Permissions granted to this {@code CodeSource}
+     *          and the additionally provided {@code Subject}
+     *          are returned.
+     *
+     * @return the Permissions granted to the provided {@code Subject}
+     *          {@code CodeSource}.
      */
     @Override
     public PermissionCollection getPermissions(final Subject subject,
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/PrincipalComparator.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/PrincipalComparator.java	Wed Apr 29 08:52:47 2015 -0700
@@ -26,25 +26,25 @@
 package com.sun.security.auth;
 
 /**
- * An object that implements the <code>java.security.Principal</code>
+ * An object that implements the {@code java.security.Principal}
  * interface typically also implements this interface to provide
- * a means for comparing that object to a specified <code>Subject</code>.
+ * a means for comparing that object to a specified {@code Subject}.
  *
- * <p> The comparison is achieved via the <code>implies</code> method.
- * The implementation of the <code>implies</code> method determines
- * whether this object "implies" the specified <code>Subject</code>.
+ * <p> The comparison is achieved via the {@code implies} method.
+ * The implementation of the {@code implies} method determines
+ * whether this object "implies" the specified {@code Subject}.
  * One example application of this method may be for
- * a "group" object to imply a particular <code>Subject</code>
- * if that <code>Subject</code> belongs to the group.
+ * a "group" object to imply a particular {@code Subject}
+ * if that {@code Subject} belongs to the group.
  * Another example application of this method would be for
- * "role" object to imply a particular <code>Subject</code>
- * if that <code>Subject</code> is currently acting in that role.
+ * "role" object to imply a particular {@code Subject}
+ * if that {@code Subject} is currently acting in that role.
  *
  * <p> Although classes that implement this interface typically
- * also implement the <code>java.security.Principal</code> interface,
+ * also implement the {@code java.security.Principal} interface,
  * it is not required.  In other words, classes may implement the
- * <code>java.security.Principal</code> interface by itself,
- * the <code>PrincipalComparator</code> interface by itself,
+ * {@code java.security.Principal} interface by itself,
+ * the {@code PrincipalComparator} interface by itself,
  * or both at the same time.
  *
  * @see java.security.Principal
@@ -53,12 +53,10 @@
 @jdk.Exported
 public interface PrincipalComparator {
     /**
-     * Check if the specified <code>Subject</code> is implied by
+     * Check if the specified {@code Subject} is implied by
      * this object.
      *
-     * <p>
-     *
-     * @return true if the specified <code>Subject</code> is implied by
+     * @return true if the specified {@code Subject} is implied by
      *          this object, or false otherwise.
      */
     boolean implies(javax.security.auth.Subject subject);
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -28,15 +28,15 @@
 import java.security.Principal;
 
 /**
- * <p> This class implements the <code>Principal</code> interface
+ * This class implements the {@code Principal} interface
  * and represents a user's Solaris group identification number (GID).
  *
- * <p> Principals such as this <code>SolarisNumericGroupPrincipal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code SolarisNumericGroupPrincipal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
 
  * @deprecated As of JDK&nbsp;1.4, replaced by
  *             {@link UnixNumericGroupPrincipal}.
@@ -73,20 +73,18 @@
     private boolean primaryGroup;
 
     /**
-     * Create a <code>SolarisNumericGroupPrincipal</code> using a
-     * <code>String</code> representation of the user's
+     * Create a {@code SolarisNumericGroupPrincipal} using a
+     * {@code String} representation of the user's
      * group identification number (GID).
      *
-     * <p>
-     *
      * @param name the user's group identification number (GID)
-     *                  for this user. <p>
+     *                  for this user.
      *
      * @param primaryGroup true if the specified GID represents the
      *                  primary group to which this user belongs.
      *
-     * @exception NullPointerException if the <code>name</code>
-     *                  is <code>null</code>.
+     * @exception NullPointerException if the {@code name}
+     *                  is {@code null}.
      */
     public SolarisNumericGroupPrincipal(String name, boolean primaryGroup) {
         if (name == null)
@@ -97,13 +95,11 @@
     }
 
     /**
-     * Create a <code>SolarisNumericGroupPrincipal</code> using a
+     * Create a {@code SolarisNumericGroupPrincipal} using a
      * long representation of the user's group identification number (GID).
      *
-     * <p>
-     *
      * @param name the user's group identification number (GID) for this user
-     *                  represented as a long. <p>
+     *                  represented as a long.
      *
      * @param primaryGroup true if the specified GID represents the
      *                  primary group to which this user belongs.
@@ -116,12 +112,10 @@
 
     /**
      * Return the user's group identification number (GID) for this
-     * <code>SolarisNumericGroupPrincipal</code>.
-     *
-     * <p>
+     * {@code SolarisNumericGroupPrincipal}.
      *
      * @return the user's group identification number (GID) for this
-     *          <code>SolarisNumericGroupPrincipal</code>
+     *          {@code SolarisNumericGroupPrincipal}
      */
     public String getName() {
         return name;
@@ -129,12 +123,10 @@
 
     /**
      * Return the user's group identification number (GID) for this
-     * <code>SolarisNumericGroupPrincipal</code> as a long.
-     *
-     * <p>
+     * {@code SolarisNumericGroupPrincipal} as a long.
      *
      * @return the user's group identification number (GID) for this
-     *          <code>SolarisNumericGroupPrincipal</code> as a long.
+     *          {@code SolarisNumericGroupPrincipal} as a long.
      */
     public long longValue() {
         return Long.parseLong(name);
@@ -144,8 +136,6 @@
      * Return whether this group identification number (GID) represents
      * the primary group to which this user belongs.
      *
-     * <p>
-     *
      * @return true if this group identification number (GID) represents
      *          the primary group to which this user belongs,
      *          or false otherwise.
@@ -156,12 +146,10 @@
 
     /**
      * Return a string representation of this
-     * <code>SolarisNumericGroupPrincipal</code>.
-     *
-     * <p>
+     * {@code SolarisNumericGroupPrincipal}.
      *
      * @return a string representation of this
-     *          <code>SolarisNumericGroupPrincipal</code>.
+     *          {@code SolarisNumericGroupPrincipal}.
      */
     public String toString() {
         return((primaryGroup ?
@@ -173,19 +161,17 @@
 
     /**
      * Compares the specified Object with this
-     * <code>SolarisNumericGroupPrincipal</code>
+     * {@code SolarisNumericGroupPrincipal}
      * for equality.  Returns true if the given object is also a
-     * <code>SolarisNumericGroupPrincipal</code> and the two
+     * {@code SolarisNumericGroupPrincipal} and the two
      * SolarisNumericGroupPrincipals
      * have the same group identification number (GID).
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>SolarisNumericGroupPrincipal</code>.
+     *          {@code SolarisNumericGroupPrincipal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>SolarisNumericGroupPrincipal</code>.
+     *          {@code SolarisNumericGroupPrincipal}.
      */
     public boolean equals(Object o) {
         if (o == null)
@@ -205,11 +191,9 @@
     }
 
     /**
-     * Return a hash code for this <code>SolarisNumericGroupPrincipal</code>.
+     * Return a hash code for this {@code SolarisNumericGroupPrincipal}.
      *
-     * <p>
-     *
-     * @return a hash code for this <code>SolarisNumericGroupPrincipal</code>.
+     * @return a hash code for this {@code SolarisNumericGroupPrincipal}.
      */
     public int hashCode() {
         return toString().hashCode();
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -28,15 +28,15 @@
 import java.security.Principal;
 
 /**
- * <p> This class implements the <code>Principal</code> interface
+ * This class implements the {@code Principal} interface
  * and represents a user's Solaris identification number (UID).
  *
- * <p> Principals such as this <code>SolarisNumericUserPrincipal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code SolarisNumericUserPrincipal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  * @deprecated As of JDK&nbsp;1.4, replaced by
  *             {@link UnixNumericUserPrincipal}.
  *             This class is entirely deprecated.
@@ -68,16 +68,14 @@
     private String name;
 
     /**
-     * Create a <code>SolarisNumericUserPrincipal</code> using a
-     * <code>String</code> representation of the
+     * Create a {@code SolarisNumericUserPrincipal} using a
+     * {@code String} representation of the
      * user's identification number (UID).
      *
-     * <p>
-     *
      * @param name the user identification number (UID) for this user.
      *
-     * @exception NullPointerException if the <code>name</code>
-     *                  is <code>null</code>.
+     * @exception NullPointerException if the {@code name}
+     *                  is {@code null}.
      */
     public SolarisNumericUserPrincipal(String name) {
         if (name == null)
@@ -87,11 +85,9 @@
     }
 
     /**
-     * Create a <code>SolarisNumericUserPrincipal</code> using a
+     * Create a {@code SolarisNumericUserPrincipal} using a
      * long representation of the user's identification number (UID).
      *
-     * <p>
-     *
      * @param name the user identification number (UID) for this user
      *                  represented as a long.
      */
@@ -101,12 +97,10 @@
 
     /**
      * Return the user identification number (UID) for this
-     * <code>SolarisNumericUserPrincipal</code>.
-     *
-     * <p>
+     * {@code SolarisNumericUserPrincipal}.
      *
      * @return the user identification number (UID) for this
-     *          <code>SolarisNumericUserPrincipal</code>
+     *          {@code SolarisNumericUserPrincipal}
      */
     public String getName() {
         return name;
@@ -114,12 +108,10 @@
 
     /**
      * Return the user identification number (UID) for this
-     * <code>SolarisNumericUserPrincipal</code> as a long.
-     *
-     * <p>
+     * {@code SolarisNumericUserPrincipal} as a long.
      *
      * @return the user identification number (UID) for this
-     *          <code>SolarisNumericUserPrincipal</code> as a long.
+     *          {@code SolarisNumericUserPrincipal} as a long.
      */
     public long longValue() {
         return Long.parseLong(name);
@@ -127,12 +119,10 @@
 
     /**
      * Return a string representation of this
-     * <code>SolarisNumericUserPrincipal</code>.
-     *
-     * <p>
+     * {@code SolarisNumericUserPrincipal}.
      *
      * @return a string representation of this
-     *          <code>SolarisNumericUserPrincipal</code>.
+     *          {@code SolarisNumericUserPrincipal}.
      */
     public String toString() {
         return(rb.getString("SolarisNumericUserPrincipal.") + name);
@@ -140,19 +130,17 @@
 
     /**
      * Compares the specified Object with this
-     * <code>SolarisNumericUserPrincipal</code>
+     * {@code SolarisNumericUserPrincipal}
      * for equality.  Returns true if the given object is also a
-     * <code>SolarisNumericUserPrincipal</code> and the two
+     * {@code SolarisNumericUserPrincipal} and the two
      * SolarisNumericUserPrincipals
      * have the same user identification number (UID).
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>SolarisNumericUserPrincipal</code>.
+     *          {@code SolarisNumericUserPrincipal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>SolarisNumericUserPrincipal</code>.
+     *          {@code SolarisNumericUserPrincipal}.
      */
     public boolean equals(Object o) {
         if (o == null)
@@ -167,15 +155,14 @@
 
         if (this.getName().equals(that.getName()))
             return true;
-        return false;
+
+       return false;
     }
 
     /**
-     * Return a hash code for this <code>SolarisNumericUserPrincipal</code>.
+     * Return a hash code for this {@code SolarisNumericUserPrincipal}.
      *
-     * <p>
-     *
-     * @return a hash code for this <code>SolarisNumericUserPrincipal</code>.
+     * @return a hash code for this {@code SolarisNumericUserPrincipal}.
      */
     public int hashCode() {
         return name.hashCode();
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisPrincipal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisPrincipal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -28,15 +28,15 @@
 import java.security.Principal;
 
 /**
- * <p> This class implements the <code>Principal</code> interface
+ * This class implements the {@code Principal} interface
  * and represents a Solaris user.
  *
- * <p> Principals such as this <code>SolarisPrincipal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code SolarisPrincipal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  *
  * @deprecated As of JDK&nbsp;1.4, replaced by
  *             {@link UnixPrincipal}.
@@ -68,12 +68,10 @@
     /**
      * Create a SolarisPrincipal with a Solaris username.
      *
-     * <p>
-     *
      * @param name the Unix username for this user.
      *
-     * @exception NullPointerException if the <code>name</code>
-     *                  is <code>null</code>.
+     * @exception NullPointerException if the {@code name}
+     *                  is {@code null}.
      */
     public SolarisPrincipal(String name) {
         if (name == null)
@@ -83,40 +81,34 @@
     }
 
     /**
-     * Return the Unix username for this <code>SolarisPrincipal</code>.
+     * Return the Unix username for this {@code SolarisPrincipal}.
      *
-     * <p>
-     *
-     * @return the Unix username for this <code>SolarisPrincipal</code>
+     * @return the Unix username for this {@code SolarisPrincipal}
      */
     public String getName() {
         return name;
     }
 
     /**
-     * Return a string representation of this <code>SolarisPrincipal</code>.
+     * Return a string representation of this {@code SolarisPrincipal}.
      *
-     * <p>
-     *
-     * @return a string representation of this <code>SolarisPrincipal</code>.
+     * @return a string representation of this {@code SolarisPrincipal}.
      */
     public String toString() {
         return(rb.getString("SolarisPrincipal.") + name);
     }
 
     /**
-     * Compares the specified Object with this <code>SolarisPrincipal</code>
+     * Compares the specified Object with this {@code SolarisPrincipal}
      * for equality.  Returns true if the given object is also a
-     * <code>SolarisPrincipal</code> and the two SolarisPrincipals
+     * {@code SolarisPrincipal} and the two SolarisPrincipals
      * have the same username.
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>SolarisPrincipal</code>.
+     *          {@code SolarisPrincipal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>SolarisPrincipal</code>.
+     *          {@code SolarisPrincipal}.
      */
     public boolean equals(Object o) {
         if (o == null)
@@ -135,11 +127,9 @@
     }
 
     /**
-     * Return a hash code for this <code>SolarisPrincipal</code>.
+     * Return a hash code for this {@code SolarisPrincipal}.
      *
-     * <p>
-     *
-     * @return a hash code for this <code>SolarisPrincipal</code>.
+     * @return a hash code for this {@code SolarisPrincipal}.
      */
     public int hashCode() {
         return name.hashCode();
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -28,15 +28,15 @@
 import java.security.Principal;
 
 /**
- * <p> This class implements the <code>Principal</code> interface
+ * This class implements the {@code Principal} interface
  * and represents a user's Unix group identification number (GID).
  *
- * <p> Principals such as this <code>UnixNumericGroupPrincipal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code UnixNumericGroupPrincipal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  *
  * @see java.security.Principal
  * @see javax.security.auth.Subject
@@ -59,20 +59,18 @@
     private boolean primaryGroup;
 
     /**
-     * Create a <code>UnixNumericGroupPrincipal</code> using a
-     * <code>String</code> representation of the user's
+     * Create a {@code UnixNumericGroupPrincipal} using a
+     * {@code String} representation of the user's
      * group identification number (GID).
      *
-     * <p>
-     *
      * @param name the user's group identification number (GID)
-     *                  for this user. <p>
+     *                  for this user.
      *
      * @param primaryGroup true if the specified GID represents the
      *                  primary group to which this user belongs.
      *
-     * @exception NullPointerException if the <code>name</code>
-     *                  is <code>null</code>.
+     * @exception NullPointerException if the {@code name}
+     *                  is {@code null}.
      */
     public UnixNumericGroupPrincipal(String name, boolean primaryGroup) {
         if (name == null) {
@@ -89,13 +87,11 @@
     }
 
     /**
-     * Create a <code>UnixNumericGroupPrincipal</code> using a
+     * Create a {@code UnixNumericGroupPrincipal} using a
      * long representation of the user's group identification number (GID).
      *
-     * <p>
-     *
      * @param name the user's group identification number (GID) for this user
-     *                  represented as a long. <p>
+     *                  represented as a long.
      *
      * @param primaryGroup true if the specified GID represents the
      *                  primary group to which this user belongs.
@@ -108,12 +104,10 @@
 
     /**
      * Return the user's group identification number (GID) for this
-     * <code>UnixNumericGroupPrincipal</code>.
-     *
-     * <p>
+     * {@code UnixNumericGroupPrincipal}.
      *
      * @return the user's group identification number (GID) for this
-     *          <code>UnixNumericGroupPrincipal</code>
+     *          {@code UnixNumericGroupPrincipal}
      */
     public String getName() {
         return name;
@@ -121,12 +115,10 @@
 
     /**
      * Return the user's group identification number (GID) for this
-     * <code>UnixNumericGroupPrincipal</code> as a long.
-     *
-     * <p>
+     * {@code UnixNumericGroupPrincipal} as a long.
      *
      * @return the user's group identification number (GID) for this
-     *          <code>UnixNumericGroupPrincipal</code> as a long.
+     *          {@code UnixNumericGroupPrincipal} as a long.
      */
     public long longValue() {
         return Long.parseLong(name);
@@ -136,8 +128,6 @@
      * Return whether this group identification number (GID) represents
      * the primary group to which this user belongs.
      *
-     * <p>
-     *
      * @return true if this group identification number (GID) represents
      *          the primary group to which this user belongs,
      *          or false otherwise.
@@ -148,12 +138,10 @@
 
     /**
      * Return a string representation of this
-     * <code>UnixNumericGroupPrincipal</code>.
-     *
-     * <p>
+     * {@code UnixNumericGroupPrincipal}.
      *
      * @return a string representation of this
-     *          <code>UnixNumericGroupPrincipal</code>.
+     *          {@code UnixNumericGroupPrincipal}.
      */
     public String toString() {
 
@@ -176,19 +164,17 @@
 
     /**
      * Compares the specified Object with this
-     * <code>UnixNumericGroupPrincipal</code>
+     * {@code UnixNumericGroupPrincipal}
      * for equality.  Returns true if the given object is also a
-     * <code>UnixNumericGroupPrincipal</code> and the two
+     * {@code UnixNumericGroupPrincipal} and the two
      * UnixNumericGroupPrincipals
      * have the same group identification number (GID).
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>UnixNumericGroupPrincipal</code>.
+     *          {@code UnixNumericGroupPrincipal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>UnixNumericGroupPrincipal</code>.
+     *          {@code UnixNumericGroupPrincipal}.
      */
     public boolean equals(Object o) {
         if (o == null)
@@ -208,11 +194,9 @@
     }
 
     /**
-     * Return a hash code for this <code>UnixNumericGroupPrincipal</code>.
+     * Return a hash code for this {@code UnixNumericGroupPrincipal}.
      *
-     * <p>
-     *
-     * @return a hash code for this <code>UnixNumericGroupPrincipal</code>.
+     * @return a hash code for this {@code UnixNumericGroupPrincipal}.
      */
     public int hashCode() {
         return toString().hashCode();
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -28,15 +28,15 @@
 import java.security.Principal;
 
 /**
- * <p> This class implements the <code>Principal</code> interface
+ * This class implements the {@code Principal} interface
  * and represents a user's Unix identification number (UID).
  *
- * <p> Principals such as this <code>UnixNumericUserPrincipal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code UnixNumericUserPrincipal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  *
  * @see java.security.Principal
  * @see javax.security.auth.Subject
@@ -53,16 +53,14 @@
     private String name;
 
     /**
-     * Create a <code>UnixNumericUserPrincipal</code> using a
-     * <code>String</code> representation of the
+     * Create a {@code UnixNumericUserPrincipal} using a
+     * {@code String} representation of the
      * user's identification number (UID).
      *
-     * <p>
-     *
      * @param name the user identification number (UID) for this user.
      *
-     * @exception NullPointerException if the <code>name</code>
-     *                  is <code>null</code>.
+     * @exception NullPointerException if the {@code name}
+     *                  is {@code null}.
      */
     public UnixNumericUserPrincipal(String name) {
         if (name == null) {
@@ -78,11 +76,9 @@
     }
 
     /**
-     * Create a <code>UnixNumericUserPrincipal</code> using a
+     * Create a {@code UnixNumericUserPrincipal} using a
      * long representation of the user's identification number (UID).
      *
-     * <p>
-     *
      * @param name the user identification number (UID) for this user
      *                  represented as a long.
      */
@@ -92,12 +88,10 @@
 
     /**
      * Return the user identification number (UID) for this
-     * <code>UnixNumericUserPrincipal</code>.
-     *
-     * <p>
+     * {@code UnixNumericUserPrincipal}.
      *
      * @return the user identification number (UID) for this
-     *          <code>UnixNumericUserPrincipal</code>
+     *          {@code UnixNumericUserPrincipal}
      */
     public String getName() {
         return name;
@@ -105,12 +99,10 @@
 
     /**
      * Return the user identification number (UID) for this
-     * <code>UnixNumericUserPrincipal</code> as a long.
-     *
-     * <p>
+     * {@code UnixNumericUserPrincipal} as a long.
      *
      * @return the user identification number (UID) for this
-     *          <code>UnixNumericUserPrincipal</code> as a long.
+     *          {@code UnixNumericUserPrincipal} as a long.
      */
     public long longValue() {
         return Long.parseLong(name);
@@ -118,12 +110,10 @@
 
     /**
      * Return a string representation of this
-     * <code>UnixNumericUserPrincipal</code>.
-     *
-     * <p>
+     * {@code UnixNumericUserPrincipal}.
      *
      * @return a string representation of this
-     *          <code>UnixNumericUserPrincipal</code>.
+     *          {@code UnixNumericUserPrincipal}.
      */
     public String toString() {
         java.text.MessageFormat form = new java.text.MessageFormat
@@ -136,19 +126,17 @@
 
     /**
      * Compares the specified Object with this
-     * <code>UnixNumericUserPrincipal</code>
+     * {@code UnixNumericUserPrincipal}
      * for equality.  Returns true if the given object is also a
-     * <code>UnixNumericUserPrincipal</code> and the two
+     * {@code UnixNumericUserPrincipal} and the two
      * UnixNumericUserPrincipals
      * have the same user identification number (UID).
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>UnixNumericUserPrincipal</code>.
+     *          {@code UnixNumericUserPrincipal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>UnixNumericUserPrincipal</code>.
+     *          {@code UnixNumericUserPrincipal}.
      */
     public boolean equals(Object o) {
         if (o == null)
@@ -167,11 +155,9 @@
     }
 
     /**
-     * Return a hash code for this <code>UnixNumericUserPrincipal</code>.
+     * Return a hash code for this {@code UnixNumericUserPrincipal}.
      *
-     * <p>
-     *
-     * @return a hash code for this <code>UnixNumericUserPrincipal</code>.
+     * @return a hash code for this {@code UnixNumericUserPrincipal}.
      */
     public int hashCode() {
         return name.hashCode();
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixPrincipal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixPrincipal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -28,15 +28,15 @@
 import java.security.Principal;
 
 /**
- * <p> This class implements the <code>Principal</code> interface
+ * This class implements the {@code Principal} interface
  * and represents a Unix user.
  *
- * <p> Principals such as this <code>UnixPrincipal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code UnixPrincipal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  *
  * @see java.security.Principal
  * @see javax.security.auth.Subject
@@ -54,12 +54,10 @@
     /**
      * Create a UnixPrincipal with a Unix username.
      *
-     * <p>
-     *
      * @param name the Unix username for this user.
      *
-     * @exception NullPointerException if the <code>name</code>
-     *                  is <code>null</code>.
+     * @exception NullPointerException if the {@code name}
+     *                  is {@code null}.
      */
     public UnixPrincipal(String name) {
         if (name == null) {
@@ -75,22 +73,18 @@
     }
 
     /**
-     * Return the Unix username for this <code>UnixPrincipal</code>.
+     * Return the Unix username for this {@code UnixPrincipal}.
      *
-     * <p>
-     *
-     * @return the Unix username for this <code>UnixPrincipal</code>
+     * @return the Unix username for this {@code UnixPrincipal}
      */
     public String getName() {
         return name;
     }
 
     /**
-     * Return a string representation of this <code>UnixPrincipal</code>.
+     * Return a string representation of this {@code UnixPrincipal}.
      *
-     * <p>
-     *
-     * @return a string representation of this <code>UnixPrincipal</code>.
+     * @return a string representation of this {@code UnixPrincipal}.
      */
     public String toString() {
         java.text.MessageFormat form = new java.text.MessageFormat
@@ -102,18 +96,16 @@
     }
 
     /**
-     * Compares the specified Object with this <code>UnixPrincipal</code>
+     * Compares the specified Object with this {@code UnixPrincipal}
      * for equality.  Returns true if the given object is also a
-     * <code>UnixPrincipal</code> and the two UnixPrincipals
+     * {@code UnixPrincipal} and the two UnixPrincipals
      * have the same username.
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>UnixPrincipal</code>.
+     *          {@code UnixPrincipal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>UnixPrincipal</code>.
+     *          {@code UnixPrincipal}.
      */
     public boolean equals(Object o) {
         if (o == null)
@@ -132,11 +124,9 @@
     }
 
     /**
-     * Return a hash code for this <code>UnixPrincipal</code>.
+     * Return a hash code for this {@code UnixPrincipal}.
      *
-     * <p>
-     *
-     * @return a hash code for this <code>UnixPrincipal</code>.
+     * @return a hash code for this {@code UnixPrincipal}.
      */
     public int hashCode() {
         return name.hashCode();
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/X500Principal.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/X500Principal.java	Wed Apr 29 08:52:47 2015 -0700
@@ -29,17 +29,17 @@
 import sun.security.x509.X500Name;
 
 /**
- * <p> This class represents an X.500 <code>Principal</code>.
+ * This class represents an X.500 {@code Principal}.
  * X500Principals have names such as,
  * "CN=Duke, OU=JavaSoft, O=Sun Microsystems, C=US"
  * (RFC 1779 style).
  *
- * <p> Principals such as this <code>X500Principal</code>
- * may be associated with a particular <code>Subject</code>
- * to augment that <code>Subject</code> with an additional
- * identity.  Refer to the <code>Subject</code> class for more information
+ * <p> Principals such as this {@code X500Principal}
+ * may be associated with a particular {@code Subject}
+ * to augment that {@code Subject} with an additional
+ * identity.  Refer to the {@code Subject} class for more information
  * on how to achieve this.  Authorization decisions can then be based upon
- * the Principals associated with a <code>Subject</code>.
+ * the Principals associated with a {@code Subject}.
  *
  * @see java.security.Principal
  * @see javax.security.auth.Subject
@@ -76,14 +76,12 @@
      * such as "CN=Duke, OU=JavaSoft, O=Sun Microsystems, C=US"
      * (RFC 1779 style).
      *
-     * <p>
-     *
      * @param name the X.500 name
      *
-     * @exception NullPointerException if the <code>name</code>
-     *                  is <code>null</code>. <p>
+     * @exception NullPointerException if the {@code name}
+     *                  is {@code null}.
      *
-     * @exception IllegalArgumentException if the <code>name</code>
+     * @exception IllegalArgumentException if the {@code name}
      *                  is improperly specified.
      */
     public X500Principal(String name) {
@@ -100,38 +98,32 @@
     }
 
     /**
-     * Return the Unix username for this <code>X500Principal</code>.
+     * Return the Unix username for this {@code X500Principal}.
      *
-     * <p>
-     *
-     * @return the Unix username for this <code>X500Principal</code>
+     * @return the Unix username for this {@code X500Principal}
      */
     public String getName() {
         return thisX500Name.getName();
     }
 
     /**
-     * Return a string representation of this <code>X500Principal</code>.
+     * Return a string representation of this {@code X500Principal}.
      *
-     * <p>
-     *
-     * @return a string representation of this <code>X500Principal</code>.
+     * @return a string representation of this {@code X500Principal}.
      */
     public String toString() {
         return thisX500Name.toString();
     }
 
     /**
-     * Compares the specified Object with this <code>X500Principal</code>
+     * Compares the specified Object with this {@code X500Principal}
      * for equality.
      *
-     * <p>
-     *
      * @param o Object to be compared for equality with this
-     *          <code>X500Principal</code>.
+     *          {@code X500Principal}.
      *
      * @return true if the specified Object is equal to this
-     *          <code>X500Principal</code>.
+     *          {@code X500Principal}.
      */
     public boolean equals(Object o) {
         if (o == null)
@@ -159,11 +151,9 @@
     }
 
     /**
-     * Return a hash code for this <code>X500Principal</code>.
+     * Return a hash code for this {@code X500Principal}.
      *
-     * <p>
-     *
-     * @return a hash code for this <code>X500Principal</code>.
+     * @return a hash code for this {@code X500Principal}.
      */
     public int hashCode() {
         return thisX500Name.hashCode();
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java	Wed Apr 29 08:52:47 2015 -0700
@@ -44,28 +44,28 @@
 
 
 /**
- * <p> The module prompts for a username and password
+ * The module prompts for a username and password
  * and then verifies the password against the password stored in
  * a directory service configured under JNDI.
  *
- * <p> This <code>LoginModule</code> interoperates with
+ * <p> This {@code LoginModule} interoperates with
  * any conformant JNDI service provider.  To direct this
- * <code>LoginModule</code> to use a specific JNDI service provider,
- * two options must be specified in the login <code>Configuration</code>
- * for this <code>LoginModule</code>.
+ * {@code LoginModule} to use a specific JNDI service provider,
+ * two options must be specified in the login {@code Configuration}
+ * for this {@code LoginModule}.
  * <pre>
  *      user.provider.url=<b>name_service_url</b>
  *      group.provider.url=<b>name_service_url</b>
  * </pre>
  *
  * <b>name_service_url</b> specifies
- * the directory service and path where this <code>LoginModule</code>
+ * the directory service and path where this {@code LoginModule}
  * can access the relevant user and group information.  Because this
- * <code>LoginModule</code> only performs one-level searches to
- * find the relevant user information, the <code>URL</code>
+ * {@code LoginModule} only performs one-level searches to
+ * find the relevant user information, the {@code URL}
  * must point to a directory one level above where the user and group
  * information is stored in the directory service.
- * For example, to instruct this <code>LoginModule</code>
+ * For example, to instruct this {@code LoginModule}
  * to contact a NIS server, the following URLs must be specified:
  * <pre>
  *    user.provider.url="nis://<b>NISServerHostName</b>/<b>NISDomain</b>/user"
@@ -90,14 +90,14 @@
  *
  * <p> The format in which the user's information must be stored in
  * the directory service is specified in RFC 2307.  Specifically,
- * this <code>LoginModule</code> will search for the user's entry in the
+ * this {@code LoginModule} will search for the user's entry in the
  * directory service using the user's <i>uid</i> attribute,
  * where <i>uid=<b>username</b></i>.  If the search succeeds,
- * this <code>LoginModule</code> will then
+ * this {@code LoginModule} will then
  * obtain the user's encrypted password from the retrieved entry
  * using the <i>userPassword</i> attribute.
- * This <code>LoginModule</code> assumes that the password is stored
- * as a byte array, which when converted to a <code>String</code>,
+ * This {@code LoginModule} assumes that the password is stored
+ * as a byte array, which when converted to a {@code String},
  * has the following format:
  * <pre>
  *      "{crypt}<b>encrypted_password</b>"
@@ -106,12 +106,12 @@
  * The LDAP directory server must be configured
  * to permit read access to the userPassword attribute.
  * If the user entered a valid username and password,
- * this <code>LoginModule</code> associates a
- * <code>UnixPrincipal</code>, <code>UnixNumericUserPrincipal</code>,
+ * this {@code LoginModule} associates a
+ * {@code UnixPrincipal}, {@code UnixNumericUserPrincipal},
  * and the relevant UnixNumericGroupPrincipals with the
- * <code>Subject</code>.
+ * {@code Subject}.
  *
- * <p> This LoginModule also recognizes the following <code>Configuration</code>
+ * <p> This LoginModule also recognizes the following {@code Configuration}
  * options:
  * <pre>
  *    debug          if, true, debug messages are output to System.out.
@@ -144,7 +144,7 @@
  *                   exist for the username and password in the shared state,
  *                   or if authentication fails.
  *
- *    clearPass     if, true, this <code>LoginModule</code> clears the
+ *    clearPass     if, true, this {@code LoginModule} clears the
  *                  username and password stored in the module's shared state
  *                  after both phases of authentication (login and commit)
  *                  have completed.
@@ -208,21 +208,19 @@
     private static final String PWD = "javax.security.auth.login.password";
 
     /**
-     * Initialize this <code>LoginModule</code>.
+     * Initialize this {@code LoginModule}.
      *
-     * <p>
+     * @param subject the {@code Subject} to be authenticated.
      *
-     * @param subject the <code>Subject</code> to be authenticated. <p>
+     * @param callbackHandler a {@code CallbackHandler} for communicating
+     *                  with the end user (prompting for usernames and
+     *                  passwords, for example).
      *
-     * @param callbackHandler a <code>CallbackHandler</code> for communicating
-     *                  with the end user (prompting for usernames and
-     *                  passwords, for example). <p>
-     *
-     * @param sharedState shared <code>LoginModule</code> state. <p>
+     * @param sharedState shared {@code LoginModule} state.
      *
      * @param options options specified in the login
-     *                  <code>Configuration</code> for this particular
-     *                  <code>LoginModule</code>.
+     *                  {@code Configuration} for this particular
+     *                  {@code LoginModule}.
      */
     // Unchecked warning from (Map<String, Object>)sharedState is safe
     // since javax.security.auth.login.LoginContext passes a raw HashMap.
@@ -255,17 +253,15 @@
     }
 
     /**
-     * <p> Prompt for username and password.
+     * Prompt for username and password.
      * Verify the password against the relevant name service.
      *
-     * <p>
-     *
-     * @return true always, since this <code>LoginModule</code>
+     * @return true always, since this {@code LoginModule}
      *          should not be ignored.
      *
-     * @exception FailedLoginException if the authentication fails. <p>
+     * @exception FailedLoginException if the authentication fails.
      *
-     * @exception LoginException if this <code>LoginModule</code>
+     * @exception LoginException if this {@code LoginModule}
      *          is unable to perform the authentication.
      */
     public boolean login() throws LoginException {
@@ -367,15 +363,13 @@
      *
      * <p> If this LoginModule's own authentication attempt
      * succeeded (checked by retrieving the private state saved by the
-     * <code>login</code> method), then this method associates a
-     * <code>UnixPrincipal</code>
-     * with the <code>Subject</code> located in the
-     * <code>LoginModule</code>.  If this LoginModule's own
+     * {@code login} method), then this method associates a
+     * {@code UnixPrincipal}
+     * with the {@code Subject} located in the
+     * {@code LoginModule}.  If this LoginModule's own
      * authentication attempted failed, then this method removes
      * any state that was originally saved.
      *
-     * <p>
-     *
      * @exception LoginException if the commit fails
      *
      * @return true if this LoginModule's own login and commit
@@ -418,18 +412,16 @@
     }
 
     /**
-     * <p> This method is called if the LoginContext's
+     * This method is called if the LoginContext's
      * overall authentication failed.
      * (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules
      * did not succeed).
      *
      * <p> If this LoginModule's own authentication attempt
      * succeeded (checked by retrieving the private state saved by the
-     * <code>login</code> and <code>commit</code> methods),
+     * {@code login} and {@code commit} methods),
      * then this method cleans up any state that was originally saved.
      *
-     * <p>
-     *
      * @exception LoginException if the abort fails.
      *
      * @return false if this LoginModule's own login and/or commit attempts
@@ -464,13 +456,11 @@
      * Logout a user.
      *
      * <p> This method removes the Principals
-     * that were added by the <code>commit</code> method.
-     *
-     * <p>
+     * that were added by the {@code commit} method.
      *
      * @exception LoginException if the logout fails.
      *
-     * @return true in all cases since this <code>LoginModule</code>
+     * @return true in all cases since this {@code LoginModule}
      *          should not be ignored.
      */
     public boolean logout() throws LoginException {
@@ -506,8 +496,6 @@
     /**
      * Attempt authentication
      *
-     * <p>
-     *
      * @param getPasswdFromSharedState boolean that tells this method whether
      *          to retrieve the password from the sharedState.
      */
@@ -674,8 +662,6 @@
      * values in the shared state in case subsequent LoginModules
      * want to use them via use/tryFirstPass.
      *
-     * <p>
-     *
      * @param getPasswdFromSharedState boolean that tells this method whether
      *          to retrieve the password from the sharedState.
      */
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	Wed Apr 29 08:52:47 2015 -0700
@@ -55,53 +55,53 @@
 /**
  * Provides a JAAS login module that prompts for a key store alias and
  * populates the subject with the alias's principal and credentials. Stores
- * an <code>X500Principal</code> for the subject distinguished name of the
+ * an {@code X500Principal} for the subject distinguished name of the
  * first certificate in the alias's credentials in the subject's principals,
  * the alias's certificate path in the subject's public credentials, and a
- * <code>X500PrivateCredential</code> whose certificate is the first
+ * {@code X500PrivateCredential} whose certificate is the first
  * certificate in the alias's certificate path and whose private key is the
  * alias's private key in the subject's private credentials. <p>
  *
  * Recognizes the following options in the configuration file:
  * <dl>
  *
- * <dt> <code>keyStoreURL</code> </dt>
+ * <dt> {@code keyStoreURL} </dt>
  * <dd> A URL that specifies the location of the key store.  Defaults to
  *      a URL pointing to the .keystore file in the directory specified by the
- *      <code>user.home</code> system property.  The input stream from this
- *      URL is passed to the <code>KeyStore.load</code> method.
- *      "NONE" may be specified if a <code>null</code> stream must be
- *      passed to the <code>KeyStore.load</code> method.
+ *      {@code user.home} system property.  The input stream from this
+ *      URL is passed to the {@code KeyStore.load} method.
+ *      "NONE" may be specified if a {@code null} stream must be
+ *      passed to the {@code KeyStore.load} method.
  *      "NONE" should be specified if the KeyStore resides
  *      on a hardware token device, for example.</dd>
  *
- * <dt> <code>keyStoreType</code> </dt>
+ * <dt> {@code keyStoreType} </dt>
  * <dd> The key store type.  If not specified, defaults to the result of
- *      calling <code>KeyStore.getDefaultType()</code>.
+ *      calling {@code KeyStore.getDefaultType()}.
  *      If the type is "PKCS11", then keyStoreURL must be "NONE"
  *      and privateKeyPasswordURL must not be specified.</dd>
  *
- * <dt> <code>keyStoreProvider</code> </dt>
+ * <dt> {@code keyStoreProvider} </dt>
  * <dd> The key store provider.  If not specified, uses the standard search
  *      order to find the provider. </dd>
  *
- * <dt> <code>keyStoreAlias</code> </dt>
+ * <dt> {@code keyStoreAlias} </dt>
  * <dd> The alias in the key store to login as.  Required when no callback
  *      handler is provided.  No default value. </dd>
  *
- * <dt> <code>keyStorePasswordURL</code> </dt>
+ * <dt> {@code keyStorePasswordURL} </dt>
  * <dd> A URL that specifies the location of the key store password.  Required
  *      when no callback handler is provided and
- *      <code>protected</code> is false.
+ *      {@code protected} is false.
  *      No default value. </dd>
  *
- * <dt> <code>privateKeyPasswordURL</code> </dt>
+ * <dt> {@code privateKeyPasswordURL} </dt>
  * <dd> A URL that specifies the location of the specific private key password
  *      needed to access the private key for this alias.
  *      The keystore password
  *      is used if this value is needed and not specified. </dd>
  *
- * <dt> <code>protected</code> </dt>
+ * <dt> {@code protected} </dt>
  * <dd> This value should be set to "true" if the KeyStore
  *      has a separate, protected authentication path
  *      (for example, a dedicated PIN-pad attached to a smart card).
@@ -174,22 +174,20 @@
     /* -- Methods -- */
 
     /**
-     * Initialize this <code>LoginModule</code>.
+     * Initialize this {@code LoginModule}.
      *
-     * <p>
+     * @param subject the {@code Subject} to be authenticated.
      *
-     * @param subject the <code>Subject</code> to be authenticated. <p>
-     *
-     * @param callbackHandler a <code>CallbackHandler</code> for communicating
+     * @param callbackHandler a {@code CallbackHandler} for communicating
      *                  with the end user (prompting for usernames and
      *                  passwords, for example),
-     *                  which may be <code>null</code>. <p>
+     *                  which may be {@code null}.
      *
-     * @param sharedState shared <code>LoginModule</code> state. <p>
+     * @param sharedState shared {@code LoginModule} state.
      *
      * @param options options specified in the login
-     *                  <code>Configuration</code> for this particular
-     *                  <code>LoginModule</code>.
+     *                  {@code Configuration} for this particular
+     *                  {@code LoginModule}.
      */
     // Unchecked warning from (Map<String, Object>)sharedState is safe
     // since javax.security.auth.login.LoginContext passes a raw HashMap.
@@ -258,11 +256,9 @@
      * <p> Get the Keystore alias and relevant passwords.
      * Retrieve the alias's principal and credentials from the Keystore.
      *
-     * <p>
+     * @exception FailedLoginException if the authentication fails.
      *
-     * @exception FailedLoginException if the authentication fails. <p>
-     *
-     * @return true in all cases (this <code>LoginModule</code>
+     * @return true in all cases (this {@code LoginModule}
      *          should not be ignored).
      */
 
@@ -719,19 +715,17 @@
      *
      * <p> If this LoginModule's own authentication attempt
      * succeeded (checked by retrieving the private state saved by the
-     * <code>login</code> method), then this method associates a
-     * <code>X500Principal</code> for the subject distinguished name of the
+     * {@code login} method), then this method associates a
+     * {@code X500Principal} for the subject distinguished name of the
      * first certificate in the alias's credentials in the subject's
      * principals,the alias's certificate path in the subject's public
-     * credentials, and a<code>X500PrivateCredential</code> whose certificate
+     * credentials, and a {@code X500PrivateCredential} whose certificate
      * is the first  certificate in the alias's certificate path and whose
      * private key is the alias's private key in the subject's private
      * credentials.  If this LoginModule's own
      * authentication attempted failed, then this method removes
      * any state that was originally saved.
      *
-     * <p>
-     *
      * @exception LoginException if the commit fails
      *
      * @return true if this LoginModule's own login and commit
@@ -774,21 +768,19 @@
     }
 
     /**
-     * <p> This method is called if the LoginContext's
+     * This method is called if the LoginContext's
      * overall authentication failed.
      * (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules
      * did not succeed).
      *
      * <p> If this LoginModule's own authentication attempt
      * succeeded (checked by retrieving the private state saved by the
-     * <code>login</code> and <code>commit</code> methods),
+     * {@code login} and {@code commit} methods),
      * then this method cleans up any state that was originally saved.
      *
      * <p> If the loaded KeyStore's provider extends
-     * <code>java.security.AuthProvider</code>,
-     * then the provider's <code>logout</code> method is invoked.
-     *
-     * <p>
+     * {@code java.security.AuthProvider},
+     * then the provider's {@code logout} method is invoked.
      *
      * @exception LoginException if the abort fails.
      *
@@ -815,17 +807,15 @@
      * Logout a user.
      *
      * <p> This method removes the Principals, public credentials and the
-     * private credentials that were added by the <code>commit</code> method.
+     * private credentials that were added by the {@code commit} method.
      *
      * <p> If the loaded KeyStore's provider extends
-     * <code>java.security.AuthProvider</code>,
-     * then the provider's <code>logout</code> method is invoked.
-     *
-     * <p>
+     * {@code java.security.AuthProvider},
+     * then the provider's {@code logout} method is invoked.
      *
      * @exception LoginException if the logout fails.
      *
-     * @return true in all cases since this <code>LoginModule</code>
+     * @return true in all cases since this {@code LoginModule}
      *          should not be ignored.
      */
 
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java	Wed Apr 29 08:52:47 2015 -0700
@@ -47,147 +47,142 @@
 import sun.misc.HexDumpEncoder;
 
 /**
- * <p> This <code>LoginModule</code> authenticates users using
+ * This {@code LoginModule} authenticates users using
  * Kerberos protocols.
  *
- * <p> The configuration entry for <code>Krb5LoginModule</code> has
+ * <p> The configuration entry for {@code Krb5LoginModule} has
  * several options that control the authentication process and
- * additions to the <code>Subject</code>'s private credential
- * set. Irrespective of these options, the <code>Subject</code>'s
+ * additions to the {@code Subject}'s private credential
+ * set. Irrespective of these options, the {@code Subject}'s
  * principal set and private credentials set are updated only when
- * <code>commit</code> is called.
- * When <code>commit</code> is called, the <code>KerberosPrincipal</code>
- * is added to the <code>Subject</code>'s principal set (unless the
- * <code>principal</code> is specified as "*"). If <code>isInitiator</code>
- * is true, the <code>KerberosTicket</code> is
- * added to the <code>Subject</code>'s private credentials.
+ * {@code commit} is called.
+ * When {@code commit} is called, the {@code KerberosPrincipal}
+ * is added to the {@code Subject}'s principal set (unless the
+ * {@code principal} is specified as "*"). If {@code isInitiator}
+ * is true, the {@code KerberosTicket} is
+ * added to the {@code Subject}'s private credentials.
  *
- * <p> If the configuration entry for <code>KerberosLoginModule</code>
- * has the option <code>storeKey</code> set to true, then
- * <code>KerberosKey</code> or <code>KeyTab</code> will also be added to the
- * subject's private credentials. <code>KerberosKey</code>, the principal's
- * key(s) will be derived from user's password, and <code>KeyTab</code> is
- * the keytab used when <code>useKeyTab</code> is set to true. The
- * <code>KeyTab</code> object is restricted to be used by the specified
+ * <p> If the configuration entry for {@code KerberosLoginModule}
+ * has the option {@code storeKey} set to true, then
+ * {@code KerberosKey} or {@code KeyTab} will also be added to the
+ * subject's private credentials. {@code KerberosKey}, the principal's
+ * key(s) will be derived from user's password, and {@code KeyTab} is
+ * the keytab used when {@code useKeyTab} is set to true. The
+ * {@code KeyTab} object is restricted to be used by the specified
  * principal unless the principal value is "*".
  *
- * <p> This <code>LoginModule</code> recognizes the <code>doNotPrompt</code>
+ * <p> This {@code LoginModule} recognizes the {@code doNotPrompt}
  * option. If set to true the user will not be prompted for the password.
  *
  * <p> The user can  specify the location of the ticket cache by using
- * the option <code>ticketCache</code> in the configuration entry.
+ * the option {@code ticketCache} in the configuration entry.
  *
  * <p>The user can specify the keytab location by using
- * the option <code>keyTab</code>
+ * the option {@code keyTab}
  * in the configuration entry.
  *
  * <p> The principal name can be specified in the configuration entry
- * by using the option <code>principal</code>. The principal name
+ * by using the option {@code principal}. The principal name
  * can either be a simple user name, a service name such as
- * <code>host/mission.eng.sun.com</code>, or "*". The principal can also
- * be set using the system property <code>sun.security.krb5.principal</code>.
+ * {@code host/mission.eng.sun.com}, or "*". The principal can also
+ * be set using the system property {@code sun.security.krb5.principal}.
  * This property is checked during login. If this property is not set, then
  * the principal name from the configuration is used. In the
  * case where the principal property is not set and the principal
  * entry also does not exist, the user is prompted for the name.
- * When this property of entry is set, and <code>useTicketCache</code>
+ * When this property of entry is set, and {@code useTicketCache}
  * is set to true, only TGT belonging to this principal is used.
  *
  * <p> The following is a list of configuration options supported
- * for <code>Krb5LoginModule</code>:
+ * for {@code Krb5LoginModule}:
  * <blockquote><dl>
- * <dt><b><code>refreshKrb5Config</code></b>:</dt>
+ * <dt>{@code refreshKrb5Config}:</dt>
  * <dd> Set this to true, if you want the configuration
- * to be refreshed before the <code>login</code> method is called.</dd>
- * <dt><b><code>useTicketCache</code></b>:</dt>
+ * to be refreshed before the {@code login} method is called.</dd>
+ * <dt>{@code useTicketCache}:</dt>
  * <dd>Set this to true, if you want the
- * TGT to be obtained
- * from the ticket cache. Set this option
+ * TGT to be obtained from the ticket cache. Set this option
  * to false if you do not want this module to use the ticket cache.
  * (Default is False).
- * This module will
- * search for the ticket
- * cache in the following locations:
- * On Solaris and Linux
- * it will look for the ticket cache in /tmp/krb5cc_<code>uid</code>
- * where the uid is numeric user
- * identifier. If the ticket cache is
+ * This module will search for the ticket
+ * cache in the following locations: On Solaris and Linux
+ * it will look for the ticket cache in /tmp/krb5cc_{@code uid}
+ * where the uid is numeric user identifier. If the ticket cache is
  * not available in the above location, or if we are on a
  * Windows platform, it will look for the cache as
  * {user.home}{file.separator}krb5cc_{user.name}.
  * You can override the ticket cache location by using
- * <code>ticketCache</code>.
+ * {@code ticketCache}.
  * For Windows, if a ticket cannot be retrieved from the file ticket cache,
  * it will use Local Security Authority (LSA) API to get the TGT.
- * <dt><b><code>ticketCache</code></b>:</dt>
+ * <dt>{@code ticketCache}:</dt>
  * <dd>Set this to the name of the ticket
  * cache that  contains user's TGT.
- * If this is set,  <code>useTicketCache</code>
+ * If this is set,  {@code useTicketCache}
  * must also be set to true; Otherwise a configuration error will
  * be returned.</dd>
- * <dt><b><code>renewTGT</code></b>:</dt>
+ * <dt>{@code renewTGT}:</dt>
  * <dd>Set this to true, if you want to renew
- * the TGT. If this is set, <code>useTicketCache</code> must also be
+ * the TGT. If this is set, {@code useTicketCache} must also be
  * set to true; otherwise a configuration error will be returned.</dd>
- * <dt><b><code>doNotPrompt</code></b>:</dt>
+ * <dt>{@code doNotPrompt}:</dt>
  * <dd>Set this to true if you do not want to be
  * prompted for the password
  * if credentials can not be obtained from the cache, the keytab,
  * or through shared state.(Default is false)
  * If set to true, credential must be obtained through cache, keytab,
  * or shared state. Otherwise, authentication will fail.</dd>
- * <dt><b><code>useKeyTab</code></b>:</dt>
+ * <dt>{@code useKeyTab}:</dt>
  * <dd>Set this to true if you
  * want the module to get the principal's key from the
  * the keytab.(default value is False)
- * If <code>keytab</code>
- * is not set then
+ * If {@code keytab} is not set then
  * the module will locate the keytab from the
  * Kerberos configuration file.
  * If it is not specified in the Kerberos configuration file
  * then it will look for the file
- * <code>{user.home}{file.separator}</code>krb5.keytab.</dd>
- * <dt><b><code>keyTab</code></b>:</dt>
+ * {@code {user.home}{file.separator}}krb5.keytab.</dd>
+ * <dt>{@code keyTab}:</dt>
  * <dd>Set this to the file name of the
  * keytab to get principal's secret key.</dd>
- * <dt><b><code>storeKey</code></b>:</dt>
+ * <dt>{@code storeKey}:</dt>
  * <dd>Set this to true to if you want the keytab or the
  * principal's key to be stored in the Subject's private credentials.
- * For <code>isInitiator</code> being false, if <code>principal</code>
+ * For {@code isInitiator} being false, if {@code principal}
  * is "*", the {@link KeyTab} stored can be used by anyone, otherwise,
  * it's restricted to be used by the specified principal only.</dd>
- * <dt><b><code>principal</code></b>:</dt>
+ * <dt>{@code principal}:</dt>
  * <dd>The name of the principal that should
  * be used. The principal can be a simple username such as
- * "<code>testuser</code>" or a service name such as
- * "<code>host/testhost.eng.sun.com</code>". You can use the
- * <code>principal</code>  option to set the principal when there are
+ * "{@code testuser}" or a service name such as
+ * "{@code host/testhost.eng.sun.com}". You can use the
+ * {@code principal}  option to set the principal when there are
  * credentials for multiple principals in the
- * <code>keyTab</code> or when you want a specific ticket cache only.
+ * {@code keyTab} or when you want a specific ticket cache only.
  * The principal can also be set using the system property
- * <code>sun.security.krb5.principal</code>. In addition, if this
+ * {@code sun.security.krb5.principal}. In addition, if this
  * system property is defined, then it will be used. If this property
  * is not set, then the principal name from the configuration will be
  * used.
- * The principal name can be set to "*" when <code>isInitiator</code> is false.
+ * The principal name can be set to "*" when {@code isInitiator} is false.
  * In this case, the acceptor is not bound to a single principal. It can
  * act as any principal an initiator requests if keys for that principal
- * can be found. When <code>isInitiator</code> is true, the principal name
+ * can be found. When {@code isInitiator} is true, the principal name
  * cannot be set to "*".
  * </dd>
- * <dt><b><code>isInitiator</code></b>:</dt>
+ * <dt>{@code isInitiator}:</dt>
  * <dd>Set this to true, if initiator. Set this to false, if acceptor only.
  * (Default is true).
  * Note: Do not set this value to false for initiators.</dd>
  * </dl></blockquote>
  *
- * <p> This <code>LoginModule</code> also recognizes the following additional
- * <code>Configuration</code>
+ * <p> This {@code LoginModule} also recognizes the following additional
+ * {@code Configuration}
  * options that enable you to share username and passwords across different
  * authentication modules:
  * <blockquote><dl>
  *
- *    <dt><b><code>useFirstPass</code></b>:</dt>
+ *    <dt>{@code useFirstPass}:</dt>
  *                   <dd>if, true, this LoginModule retrieves the
  *                   username and password from the module's shared state,
  *                   using "javax.security.auth.login.name" and
@@ -197,7 +192,7 @@
  *                   is made, and the failure is reported back to the
  *                   calling application.</dd>
  *
- *    <dt><b><code>tryFirstPass</code></b>:</dt>
+ *    <dt>{@code tryFirstPass}:</dt>
  *                   <dd>if, true, this LoginModule retrieves the
  *                   the username and password from the module's shared
  *                   state using "javax.security.auth.login.name" and
@@ -210,7 +205,7 @@
  *                   is made. If the authentication fails,
  *                   the failure is reported back to the calling application</dd>
  *
- *    <dt><b><code>storePass</code></b>:</dt>
+ *    <dt>{@code storePass}:</dt>
  *                   <dd>if, true, this LoginModule stores the username and
  *                   password obtained from the CallbackHandler in the
  *                   modules shared state, using
@@ -220,7 +215,7 @@
  *                   exist for the username and password in the shared
  *                   state, or if authentication fails.</dd>
  *
- *    <dt><b><code>clearPass</code></b>:</dt>
+ *    <dt>{@code clearPass}:</dt>
  *                   <dd>if, true, this LoginModule clears the
  *                   username and password stored in the module's shared
  *                   state  after both phases of authentication
@@ -236,148 +231,137 @@
  * <li>shared state
  * <li>user prompt
  * </ol>
+ *
  * <p>Note that if any step fails, it will fallback to the next step.
  * There's only one exception, if the shared state step fails and
- * <code>useFirstPass</code>=true, no user prompt is made.
+ * {@code useFirstPass = true}, no user prompt is made.
  * <p>Examples of some configuration values for Krb5LoginModule in
  * JAAS config file and the results are:
- * <ul>
- * <p> <code>doNotPrompt</code>=true;
- * </ul>
- * <p> This is an illegal combination since none of <code>useTicketCache</code>,
- * <code>useKeyTab</code>, <code>useFirstPass</code> and <code>tryFirstPass</code>
- * is set and the user can not be prompted for the password.
- *<ul>
- * <p> <code>ticketCache</code> = &lt;filename&gt;;
- *</ul>
- * <p> This is an illegal combination since <code>useTicketCache</code>
+ * <blockquote><dl>
+ * <dd><pre>{@code
+ * doNotPrompt = true}</pre>
+ * This is an illegal combination since none of {@code useTicketCache,
+ * useKeyTab, useFirstPass} and {@code tryFirstPass}
+ * is set and the user can not be prompted for the password.</dd>
+ *
+ * <dd><pre>{@code
+ * ticketCache = <filename>}</pre>
+ * This is an illegal combination since {@code useTicketCache}
  * is not set to true and the ticketCache is set. A configuration error
- * will occur.
- * <ul>
- * <p> <code>renewTGT</code>=true;
- *</ul>
- * <p> This is an illegal combination since <code>useTicketCache</code> is
- * not set to true and renewTGT is set. A configuration error will occur.
- * <ul>
- * <p> <code>storeKey</code>=true
- * <code>useTicketCache</code> = true
- * <code>doNotPrompt</code>=true;;
- *</ul>
- * <p> This is an illegal combination since  <code>storeKey</code> is set to
+ * will occur.</dd>
+ *
+ * <dd><pre>{@code
+ * renewTGT = true}</pre>
+ * This is an illegal combination since {@code useTicketCache} is
+ * not set to true and renewTGT is set. A configuration error will occur.</dd>
+ *
+ * <dd><pre>{@code
+ * storeKey = true  useTicketCache = true  doNotPrompt = true}</pre>
+ * This is an illegal combination since  {@code storeKey} is set to
  * true but the key can not be obtained either by prompting the user or from
- * the keytab, or from the shared state. A configuration error will occur.
- * <ul>
- * <p>  <code>keyTab</code> = &lt;filename&gt; <code>doNotPrompt</code>=true ;
- * </ul>
- * <p>This is an illegal combination since useKeyTab is not set to true and
- * the keyTab is set. A configuration error will occur.
- * <ul>
- * <p> <code>debug=true </code>
- *</ul>
- * <p> Prompt the user for the principal name and the password.
+ * the keytab, or from the shared state. A configuration error will occur.</dd>
+ *
+ * <dd><pre>{@code
+ * keyTab = <filename>  doNotPrompt = true}</pre>
+ * This is an illegal combination since useKeyTab is not set to true and
+ * the keyTab is set. A configuration error will occur.</dd>
+ *
+ * <dd><pre>{@code
+ * debug = true}</pre>
+ * Prompt the user for the principal name and the password.
  * Use the authentication exchange to get TGT from the KDC and
- * populate the <code>Subject</code> with the principal and TGT.
- * Output debug messages.
- * <ul>
- * <p> <code>useTicketCache</code> = true <code>doNotPrompt</code>=true;
- *</ul>
- * <p>Check the default cache for TGT and populate the <code>Subject</code>
+ * populate the {@code Subject} with the principal and TGT.
+ * Output debug messages.</dd>
+ *
+ * <dd><pre>{@code
+ * useTicketCache = true  doNotPrompt = true}</pre>
+ * Check the default cache for TGT and populate the {@code Subject}
  * with the principal and TGT. If the TGT is not available,
- * do not prompt the user, instead fail the authentication.
- * <ul>
- * <p><code>principal</code>=&lt;name&gt;<code>useTicketCache</code> = true
- * <code>doNotPrompt</code>=true;
- *</ul>
- * <p> Get the TGT from the default cache for the principal and populate the
+ * do not prompt the user, instead fail the authentication.</dd>
+ *
+ * <dd><pre>{@code
+ * principal = <name>  useTicketCache = true  doNotPrompt = true}</pre>
+ * Get the TGT from the default cache for the principal and populate the
  * Subject's principal and private creds set. If ticket cache is
  * not available or does not contain the principal's TGT
- * authentication will fail.
- * <ul>
- * <p> <code>useTicketCache</code> = true
- * <code>ticketCache</code>=&lt;file name&gt;<code>useKeyTab</code> = true
- * <code> keyTab</code>=&lt;keytab filename&gt;
- * <code>principal</code> = &lt;principal name&gt;
- * <code>doNotPrompt</code>=true;
- *</ul>
- * <p>  Search the cache for the principal's TGT. If it is not available
+ * authentication will fail.</dd>
+ *
+ * <dd><pre>{@code
+ * useTicketCache = true
+ * ticketCache = <file name>
+ * useKeyTab = true
+ * keyTab = <keytab filename>
+ * principal = <principal name>
+ * doNotPrompt = true}</pre>
+ * Search the cache for the principal's TGT. If it is not available
  * use the key in the keytab to perform authentication exchange with the
  * KDC and acquire the TGT.
  * The Subject will be populated with the principal and the TGT.
- * If the key is not available or valid then authentication will fail.
- * <ul>
- * <p><code>useTicketCache</code> = true
- * <code>ticketCache</code>=&lt;file name&gt;
- *</ul>
- * <p> The TGT will be obtained from the cache specified.
+ * If the key is not available or valid then authentication will fail.</dd>
+ *
+ * <dd><pre>{@code
+ * useTicketCache = true  ticketCache = <filename>}</pre>
+ * The TGT will be obtained from the cache specified.
  * The Kerberos principal name used will be the principal name in
  * the Ticket cache. If the TGT is not available in the
  * ticket cache the user will be prompted for the principal name
  * and the password. The TGT will be obtained using the authentication
  * exchange with the KDC.
- * The Subject will be populated with the TGT.
- *<ul>
- * <p> <code>useKeyTab</code> = true
- * <code>keyTab</code>=&lt;keytab filename&gt;
- * <code>principal</code>= &lt;principal name&gt;
- * <code>storeKey</code>=true;
- *</ul>
- * <p>  The key for the principal will be retrieved from the keytab.
+ * The Subject will be populated with the TGT.</dd>
+ *
+ * <dd><pre>{@code
+ * useKeyTab = true  keyTab=<keytab filename>  principal = <principal name>  storeKey = true}</pre>
+ * The key for the principal will be retrieved from the keytab.
  * If the key is not available in the keytab the user will be prompted
  * for the principal's password. The Subject will be populated
  * with the principal's key either from the keytab or derived from the
- * password entered.
- * <ul>
- * <p> <code>useKeyTab</code> = true
- * <code>keyTab</code>=&lt;keytabname&gt;
- * <code>storeKey</code>=true
- * <code>doNotPrompt</code>=false;
- *</ul>
- * <p>The user will be prompted for the service principal name.
+ * password entered.</dd>
+ *
+ * <dd><pre>{@code
+ * useKeyTab = true  keyTab = <keytabname>  storeKey = true  doNotPrompt = false}</pre>
+ * The user will be prompted for the service principal name.
  * If the principal's
  * longterm key is available in the keytab , it will be added to the
  * Subject's private credentials. An authentication exchange will be
  * attempted with the principal name and the key from the Keytab.
  * If successful the TGT will be added to the
- * Subject's private credentials set. Otherwise the authentication will
- * fail.
- * <ul>
- * <p> <code>isInitiator</code> = false <code>useKeyTab</code> = true
- * <code>keyTab</code>=&lt;keytabname&gt;
- * <code>storeKey</code>=true
- * <code>principal</code>=*;
- *</ul>
- * <p>The acceptor will be an unbound acceptor and it can act as any principal
- * as long that principal has keys in the keytab.
- *<ul>
- * <p>
- * <code>useTicketCache</code>=true
- * <code>ticketCache</code>=&lt;file name&gt;;
- * <code>useKeyTab</code> = true
- * <code>keyTab</code>=&lt;file name&gt; <code>storeKey</code>=true
- * <code>principal</code>= &lt;principal name&gt;
- *</ul>
- * <p>
+ * Subject's private credentials set. Otherwise the authentication will fail.</dd>
+ *
+ * <dd><pre>{@code
+ * isInitiator = false  useKeyTab = true  keyTab = <keytabname>  storeKey = true  principal = *}</pre>
+ * The acceptor will be an unbound acceptor and it can act as any principal
+ * as long that principal has keys in the keytab.</dd>
+ *
+ * <dd><pre>{@code
+ * useTicketCache = true
+ * ticketCache = <file name>
+ * useKeyTab = true
+ * keyTab = <file name>
+ * storeKey = true
+ * principal = <principal name>}</pre>
  * The client's TGT will be retrieved from the ticket cache and added to the
- * <code>Subject</code>'s private credentials. If the TGT is not available
+ * {@code Subject}'s private credentials. If the TGT is not available
  * in the ticket cache, or the TGT's client name does not match the principal
  * name, Java will use a secret key to obtain the TGT using the authentication
  * exchange and added to the Subject's private credentials.
  * This secret key will be first retrieved from the keytab. If the key
  * is not available, the user will be prompted for the password. In either
  * case, the key derived from the password will be added to the
- * Subject's private credentials set.
- * <ul>
- * <p><code>isInitiator</code> = false
- *</ul>
- * <p>Configured to act as acceptor only, credentials are not acquired
+ * Subject's private credentials set.</dd>
+ *
+ * <dd><pre>{@code
+ * isInitiator = false}</pre>
+ * Configured to act as acceptor only, credentials are not acquired
  * via AS exchange. For acceptors only, set this value to false.
- * For initiators, do not set this value to false.
- * <ul>
- * <p><code>isInitiator</code> = true
- *</ul>
- * <p>Configured to act as initiator, credentials are acquired
+ * For initiators, do not set this value to false.</dd>
+ *
+ * <dd><pre>{@code
+ * isInitiator = true}</pre>
+ * Configured to act as initiator, credentials are acquired
  * via AS exchange. For initiators, set this value to true, or leave this
- * option unset, in which case default value (true) will be used.
+ * option unset, in which case default value (true) will be used.</dd>
+ *
+ * </dl></blockquote>
  *
  * @author Ram Marti
  */
@@ -445,20 +429,19 @@
     );
 
     /**
-     * Initialize this <code>LoginModule</code>.
+     * Initialize this {@code LoginModule}.
      *
-     * <p>
-     * @param subject the <code>Subject</code> to be authenticated. <p>
+     * @param subject the {@code Subject} to be authenticated.
      *
-     * @param callbackHandler a <code>CallbackHandler</code> for
+     * @param callbackHandler a {@code CallbackHandler} for
      *                  communication with the end user (prompting for
-     *                  usernames and passwords, for example). <p>
+     *                  usernames and passwords, for example).
      *
-     * @param sharedState shared <code>LoginModule</code> state. <p>
+     * @param sharedState shared {@code LoginModule} state.
      *
      * @param options options specified in the login
-     *                  <code>Configuration</code> for this particular
-     *                  <code>LoginModule</code>.
+     *                  {@code Configuration} for this particular
+     *                  {@code LoginModule}.
      */
     // Unchecked warning from (Map<String, Object>)sharedState is safe
     // since javax.security.auth.login.LoginContext passes a raw HashMap.
@@ -536,14 +519,12 @@
     /**
      * Authenticate the user
      *
-     * <p>
-     *
-     * @return true in all cases since this <code>LoginModule</code>
+     * @return true in all cases since this {@code LoginModule}
      *          should not be ignored.
      *
-     * @exception FailedLoginException if the authentication fails. <p>
+     * @exception FailedLoginException if the authentication fails.
      *
-     * @exception LoginException if this <code>LoginModule</code>
+     * @exception LoginException if this {@code LoginModule}
      *          is unable to perform the authentication.
      */
     public boolean login() throws LoginException {
@@ -1019,23 +1000,21 @@
     }
 
     /**
-     * <p> This method is called if the LoginContext's
+     * This method is called if the LoginContext's
      * overall authentication succeeded
      * (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL
      * LoginModules succeeded).
      *
      * <p> If this LoginModule's own authentication attempt
      * succeeded (checked by retrieving the private state saved by the
-     * <code>login</code> method), then this method associates a
-     * <code>Krb5Principal</code>
-     * with the <code>Subject</code> located in the
-     * <code>LoginModule</code>. It adds Kerberos Credentials to the
+     * {@code login} method), then this method associates a
+     * {@code Krb5Principal}
+     * with the {@code Subject} located in the
+     * {@code LoginModule}. It adds Kerberos Credentials to the
      *  the Subject's private credentials set. If this LoginModule's own
      * authentication attempted failed, then this method removes
      * any state that was originally saved.
      *
-     * <p>
-     *
      * @exception LoginException if the commit fails.
      *
      * @return true if this LoginModule's own login and commit
@@ -1147,18 +1126,16 @@
     }
 
     /**
-     * <p> This method is called if the LoginContext's
+     * This method is called if the LoginContext's
      * overall authentication failed.
      * (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL
      * LoginModules did not succeed).
      *
      * <p> If this LoginModule's own authentication attempt
      * succeeded (checked by retrieving the private state saved by the
-     * <code>login</code> and <code>commit</code> methods),
+     * {@code login} and {@code commit} methods),
      * then this method cleans up any state that was originally saved.
      *
-     * <p>
-     *
      * @exception LoginException if the abort fails.
      *
      * @return false if this LoginModule's own login and/or commit attempts
@@ -1183,14 +1160,12 @@
     /**
      * Logout the user.
      *
-     * <p> This method removes the <code>Krb5Principal</code>
-     * that was added by the <code>commit</code> method.
-     *
-     * <p>
+     * <p> This method removes the {@code Krb5Principal}
+     * that was added by the {@code commit} method.
      *
      * @exception LoginException if the logout fails.
      *
-     * @return true in all cases since this <code>LoginModule</code>
+     * @return true in all cases since this {@code LoginModule}
      *          should not be ignored.
      */
     public boolean logout() throws LoginException {
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/LdapLoginModule.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/LdapLoginModule.java	Wed Apr 29 08:52:47 2015 -0700
@@ -70,8 +70,8 @@
  * conjunction with a specified search filter.
  * If successful then authentication is attempted using the user's
  * distinguished name and the supplied password.
- * To enable this mode, set the <code>userFilter</code> option and omit the
- * <code>authIdentity</code> option.
+ * To enable this mode, set the {@code userFilter} option and omit the
+ * {@code authIdentity} option.
  * Use search-first mode when the user's distinguished name is not
  * known in advance.
  *
@@ -79,22 +79,22 @@
  * supplied username and password and then the LDAP directory is searched.
  * If authentication is successful then a search is performed using the
  * supplied username in conjunction with a specified search filter.
- * To enable this mode, set the <code>authIdentity</code> and the
- * <code>userFilter</code> options.
+ * To enable this mode, set the {@code authIdentity} and the
+ * {@code userFilter} options.
  * Use authentication-first mode when accessing an LDAP directory
  * that has been configured to disallow anonymous searches.
  *
  * <p> In authentication-only mode, authentication is attempted using the
  * supplied username and password. The LDAP directory is not searched because
  * the user's distinguished name is already known.
- * To enable this mode, set the <code>authIdentity</code> option to a valid
- * distinguished name and omit the <code>userFilter</code> option.
+ * To enable this mode, set the {@code authIdentity} option to a valid
+ * distinguished name and omit the {@code userFilter} option.
  * Use authentication-only mode when the user's distinguished name is
  * known in advance.
  *
  * <p> The following option is mandatory and must be specified in this
  * module's login {@link Configuration}:
- * <dl><dt></dt><dd>
+ * <dl><dd>
  * <dl>
  * <dt> <code>userProvider=<b>ldap_urls</b></code>
  * </dt>
@@ -106,7 +106,7 @@
  *      When several LDAP URLs are specified then each is attempted,
  *      in turn, until the first successful connection is established.
  *      Spaces in the distinguished name component of the URL must be escaped
- *      using the standard mechanism of percent character ('<code>%</code>')
+ *      using the standard mechanism of percent character ('{@code %}')
  *      followed by two hexadecimal digits (see {@link java.net.URI}).
  *      Query components must also be omitted from the URL.
  *
@@ -120,33 +120,33 @@
  *
  * <p> This module also recognizes the following optional {@link Configuration}
  *     options:
- * <dl><dt></dt><dd>
+ * <dl><dd>
  * <dl>
  * <dt> <code>userFilter=<b>ldap_filter</b></code> </dt>
  * <dd> This option specifies the search filter to use to locate a user's
  *      entry in the LDAP directory. It is used to determine a user's
  *      distinguished name.
- *      <code><b>ldap_filter</b></code> is an LDAP filter string
+ *      <b>{@code ldap_filter}</b> is an LDAP filter string
  *      (<a href="http://www.ietf.org/rfc/rfc2254.txt">RFC 2254</a>).
- *      If it contains the special token "<code><b>{USERNAME}</b></code>"
+ *      If it contains the special token "<b>{@code {USERNAME}}</b>"
  *      then that token will be replaced with the supplied username value
  *      before the filter is used to search the directory. </dd>
  *
  * <dt> <code>authIdentity=<b>auth_id</b></code> </dt>
  * <dd> This option specifies the identity to use when authenticating a user
  *      to the LDAP directory.
- *      <code><b>auth_id</b></code> may be an LDAP distinguished name string
+ *      <b>{@code auth_id}</b> may be an LDAP distinguished name string
  *      (<a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>) or some
  *      other string name.
- *      It must contain the special token "<code><b>{USERNAME}</b></code>"
+ *      It must contain the special token "<b>{@code {USERNAME}}</b>"
  *      which will be replaced with the supplied username value before the
  *      name is used for authentication.
  *      Note that if this option does not contain a distinguished name then
- *      the <code>userFilter</code> option must also be specified. </dd>
+ *      the {@code userFilter} option must also be specified. </dd>
  *
  * <dt> <code>authzIdentity=<b>authz_id</b></code> </dt>
  * <dd> This option specifies an authorization identity for the user.
- *      <code><b>authz_id</b></code> is any string name.
+ *      <b>{@code authz_id}</b> is any string name.
  *      If it comprises a single special token with curly braces then
  *      that token is treated as a attribute name and will be replaced with a
  *      single value of that attribute from the user's LDAP entry.
@@ -156,23 +156,23 @@
  *      is created using the authorization identity and it is associated with
  *      the current {@link Subject}. </dd>
  *
- * <dt> <code>useSSL</code> </dt>
- * <dd> if <code>false</code>, this module does not establish an SSL connection
+ * <dt> {@code useSSL} </dt>
+ * <dd> if {@code false}, this module does not establish an SSL connection
  *      to the LDAP server before attempting authentication. SSL is used to
  *      protect the privacy of the user's password because it is transmitted
  *      in the clear over LDAP.
  *      By default, this module uses SSL. </dd>
  *
- * <dt> <code>useFirstPass</code> </dt>
- * <dd> if <code>true</code>, this module retrieves the username and password
+ * <dt> {@code useFirstPass} </dt>
+ * <dd> if {@code true}, this module retrieves the username and password
  *      from the module's shared state, using "javax.security.auth.login.name"
  *      and "javax.security.auth.login.password" as the respective keys. The
  *      retrieved values are used for authentication. If authentication fails,
  *      no attempt for a retry is made, and the failure is reported back to
  *      the calling application.</dd>
  *
- * <dt> <code>tryFirstPass</code> </dt>
- * <dd> if <code>true</code>, this module retrieves the username and password
+ * <dt> {@code tryFirstPass} </dt>
+ * <dd> if {@code true}, this module retrieves the username and password
  *      from the module's shared state, using "javax.security.auth.login.name"
  *       and "javax.security.auth.login.password" as the respective keys.  The
  *      retrieved values are used for authentication. If authentication fails,
@@ -181,8 +181,8 @@
  *      authentication fails, the failure is reported back to the calling
  *      application.</dd>
  *
- * <dt> <code>storePass</code> </dt>
- * <dd> if <code>true</code>, this module stores the username and password
+ * <dt> {@code storePass} </dt>
+ * <dd> if {@code true}, this module stores the username and password
  *      obtained from the {@link CallbackHandler} in the module's shared state,
  *      using
  *      "javax.security.auth.login.name" and
@@ -190,13 +190,13 @@
  *      not performed if existing values already exist for the username and
  *      password in the shared state, or if authentication fails.</dd>
  *
- * <dt> <code>clearPass</code> </dt>
- * <dd> if <code>true</code>, this module clears the username and password
+ * <dt> {@code clearPass} </dt>
+ * <dd> if {@code true}, this module clears the username and password
  *      stored in the module's shared state after both phases of authentication
  *      (login and commit) have completed.</dd>
  *
- * <dt> <code>debug</code> </dt>
- * <dd> if <code>true</code>, debug messages are displayed on the standard
+ * <dt> {@code debug} </dt>
+ * <dd> if {@code true}, debug messages are displayed on the standard
  *      output stream.
  * </dl>
  * </dl>
@@ -209,36 +209,36 @@
  * Note that the following four JNDI properties are set by this module directly
  * and are ignored if also present in the configuration:
  * <ul>
- * <li> <code>java.naming.provider.url</code>
- * <li> <code>java.naming.security.principal</code>
- * <li> <code>java.naming.security.credentials</code>
- * <li> <code>java.naming.security.protocol</code>
+ * <li> {@code java.naming.provider.url}
+ * <li> {@code java.naming.security.principal}
+ * <li> {@code java.naming.security.credentials}
+ * <li> {@code java.naming.security.protocol}
  * </ul>
  *
  * <p>
  * Three sample {@link Configuration}s are shown below.
  * The first one activates search-first mode. It identifies the LDAP server
- * and specifies that users' entries be located by their <code>uid</code> and
- * <code>objectClass</code> attributes. It also specifies that an identity
- * based on the user's <code>employeeNumber</code> attribute should be created.
+ * and specifies that users' entries be located by their {@code uid} and
+ * {@code objectClass} attributes. It also specifies that an identity
+ * based on the user's {@code employeeNumber} attribute should be created.
  * The second one activates authentication-first mode. It requests that the
  * LDAP server be located dynamically, that authentication be performed using
  * the supplied username directly but without the protection of SSL and that
  * users' entries be located by one of three naming attributes and their
- * <code>objectClass</code> attribute.
+ * {@code objectClass} attribute.
  * The third one activates authentication-only mode. It identifies alternative
  * LDAP servers, it specifies the distinguished name to use for
  * authentication and a fixed identity to use for authorization. No directory
  * search is performed.
  *
- * <pre>
+ * <pre>{@literal
  *
  *     ExampleApplication {
  *         com.sun.security.auth.module.LdapLoginModule REQUIRED
- *             userProvider="ldap://ldap-svr/ou=people,dc=example,dc=com"
- *             userFilter="(&(uid={USERNAME})(objectClass=inetOrgPerson))"
- *             authzIdentity="{EMPLOYEENUMBER}"
- *             debug=true;
+ *              userProvider="ldap://ldap-svr/ou=people,dc=example,dc=com"
+ *              userFilter="(&(uid={USERNAME})(objectClass=inetOrgPerson))"
+ *              authzIdentity="{EMPLOYEENUMBER}"
+ *              debug=true;
  *     };
  *
  *     ExampleApplication {
@@ -258,7 +258,7 @@
  *             debug=true;
  *     };
  *
- * </pre>
+ * }</pre>
  *
  * <dl>
  * <dt><b>Note:</b> </dt>
@@ -282,7 +282,6 @@
  *     <em>caller-specified</em> {@link Configuration} then the application
  *     must be granted the permissions required by the {@link LoginModule}.
  *     <em>This</em> module requires the following two permissions:
- *     <p>
  *     <ul>
  *     <li> The {@link SocketPermission} to connect to an LDAP server.
  *     <li> The {@link AuthPermission} to modify the set of {@link Principal}s
@@ -373,15 +372,15 @@
     private SearchControls constraints = null;
 
     /**
-     * Initialize this <code>LoginModule</code>.
+     * Initialize this {@code LoginModule}.
      *
-     * @param subject the <code>Subject</code> to be authenticated.
-     * @param callbackHandler a <code>CallbackHandler</code> to acquire the
+     * @param subject the {@code Subject} to be authenticated.
+     * @param callbackHandler a {@code CallbackHandler} to acquire the
      *                  username and password.
-     * @param sharedState shared <code>LoginModule</code> state.
+     * @param sharedState shared {@code LoginModule} state.
      * @param options options specified in the login
-     *                  <code>Configuration</code> for this particular
-     *                  <code>LoginModule</code>.
+     *                  {@code Configuration} for this particular
+     *                  {@code LoginModule}.
      */
     // Unchecked warning from (Map<String, Object>)sharedState is safe
     // since javax.security.auth.login.LoginContext passes a raw HashMap.
@@ -492,10 +491,10 @@
      * <p> Acquire the user's credentials and verify them against the
      * specified LDAP directory.
      *
-     * @return true always, since this <code>LoginModule</code>
+     * @return true always, since this {@code LoginModule}
      *          should not be ignored.
      * @exception FailedLoginException if the authentication fails.
-     * @exception LoginException if this <code>LoginModule</code>
+     * @exception LoginException if this {@code LoginModule}
      *          is unable to perform the authentication.
      */
     public boolean login() throws LoginException {
@@ -593,10 +592,10 @@
      *
      * <p> If this LoginModule's own authentication attempt
      * succeeded (checked by retrieving the private state saved by the
-     * <code>login</code> method), then this method associates an
-     * <code>LdapPrincipal</code> and one or more <code>UserPrincipal</code>s
-     * with the <code>Subject</code> located in the
-     * <code>LoginModule</code>.  If this LoginModule's own
+     * {@code login} method), then this method associates an
+     * {@code LdapPrincipal} and one or more {@code UserPrincipal}s
+     * with the {@code Subject} located in the
+     * {@code LoginModule}.  If this LoginModule's own
      * authentication attempted failed, then this method removes
      * any state that was originally saved.
      *
@@ -662,7 +661,7 @@
      *
      * <p> If this LoginModule's own authentication attempt
      * succeeded (checked by retrieving the private state saved by the
-     * <code>login</code> and <code>commit</code> methods),
+     * {@code login} and {@code commit} methods),
      * then this method cleans up any state that was originally saved.
      *
      * @exception LoginException if the abort fails.
@@ -697,10 +696,10 @@
      * Logout a user.
      *
      * <p> This method removes the Principals
-     * that were added by the <code>commit</code> method.
+     * that were added by the {@code commit} method.
      *
      * @exception LoginException if the logout fails.
-     * @return true in all cases since this <code>LoginModule</code>
+     * @return true in all cases since this {@code LoginModule}
      *          should not be ignored.
      */
     public boolean logout() throws LoginException {
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTLoginModule.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTLoginModule.java	Wed Apr 29 08:52:47 2015 -0700
@@ -41,10 +41,10 @@
 import com.sun.security.auth.NTNumericCredential;
 
 /**
- * <p> This <code>LoginModule</code>
+ * This {@code LoginModule}
  * renders a user's NT security information as some number of
- * <code>Principal</code>s
- * and associates them with a <code>Subject</code>.
+ * {@code Principal}s
+ * and associates them with a {@code Subject}.
  *
  * <p> This LoginModule recognizes the debug option.
  * If set to true in the login Configuration,
@@ -85,23 +85,21 @@
     private NTNumericCredential iToken;                 // impersonation token
 
     /**
-     * Initialize this <code>LoginModule</code>.
+     * Initialize this {@code LoginModule}.
      *
-     * <p>
+     * @param subject the {@code Subject} to be authenticated.
      *
-     * @param subject the <code>Subject</code> to be authenticated. <p>
-     *
-     * @param callbackHandler a <code>CallbackHandler</code> for communicating
+     * @param callbackHandler a {@code CallbackHandler} for communicating
      *          with the end user (prompting for usernames and
      *          passwords, for example). This particular LoginModule only
      *          extracts the underlying NT system information, so this
-     *          parameter is ignored.<p>
+     *          parameter is ignored.
      *
-     * @param sharedState shared <code>LoginModule</code> state. <p>
+     * @param sharedState shared {@code LoginModule} state.
      *
      * @param options options specified in the login
-     *                  <code>Configuration</code> for this particular
-     *                  <code>LoginModule</code>.
+     *                  {@code Configuration} for this particular
+     *                  {@code LoginModule}.
      */
     public void initialize(Subject subject, CallbackHandler callbackHandler,
                            Map<String,?> sharedState,
@@ -125,14 +123,12 @@
     /**
      * Import underlying NT system identity information.
      *
-     * <p>
-     *
-     * @return true in all cases since this <code>LoginModule</code>
+     * @return true in all cases since this {@code LoginModule}
      *          should not be ignored.
      *
-     * @exception FailedLoginException if the authentication fails. <p>
+     * @exception FailedLoginException if the authentication fails.
      *
-     * @exception LoginException if this <code>LoginModule</code>
+     * @exception LoginException if this {@code LoginModule}
      *          is unable to perform the authentication.
      */
     public boolean login() throws LoginException {
@@ -221,22 +217,20 @@
     }
 
     /**
-     * <p> This method is called if the LoginContext's
+     * This method is called if the LoginContext's
      * overall authentication succeeded
      * (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules
      * succeeded).
      *
      * <p> If this LoginModule's own authentication attempt
      * succeeded (checked by retrieving the private state saved by the
-     * <code>login</code> method), then this method associates some
-     * number of various <code>Principal</code>s
-     * with the <code>Subject</code> located in the
-     * <code>LoginModuleContext</code>.  If this LoginModule's own
+     * {@code login} method), then this method associates some
+     * number of various {@code Principal}s
+     * with the {@code Subject} located in the
+     * {@code LoginModuleContext}.  If this LoginModule's own
      * authentication attempted failed, then this method removes
      * any state that was originally saved.
      *
-     * <p>
-     *
      * @exception LoginException if the commit fails.
      *
      * @return true if this LoginModule's own login and commit
@@ -290,18 +284,16 @@
 
 
     /**
-     * <p> This method is called if the LoginContext's
+     * This method is called if the LoginContext's
      * overall authentication failed.
      * (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules
      * did not succeed).
      *
      * <p> If this LoginModule's own authentication attempt
      * succeeded (checked by retrieving the private state saved by the
-     * <code>login</code> and <code>commit</code> methods),
+     * {@code login} and {@code commit} methods),
      * then this method cleans up any state that was originally saved.
      *
-     * <p>
-     *
      * @exception LoginException if the abort fails.
      *
      * @return false if this LoginModule's own login and/or commit attempts
@@ -336,17 +328,15 @@
     /**
      * Logout the user.
      *
-     * <p> This method removes the <code>NTUserPrincipal</code>,
-     * <code>NTDomainPrincipal</code>, <code>NTSidUserPrincipal</code>,
-     * <code>NTSidDomainPrincipal</code>, <code>NTSidGroupPrincipal</code>s,
-     * and <code>NTSidPrimaryGroupPrincipal</code>
-     * that may have been added by the <code>commit</code> method.
-     *
-     * <p>
+     * <p> This method removes the {@code NTUserPrincipal},
+     * {@code NTDomainPrincipal}, {@code NTSidUserPrincipal},
+     * {@code NTSidDomainPrincipal}, {@code NTSidGroupPrincipal}s,
+     * and {@code NTSidPrimaryGroupPrincipal}
+     * that may have been added by the {@code commit} method.
      *
      * @exception LoginException if the logout fails.
      *
-     * @return true in all cases since this <code>LoginModule</code>
+     * @return true in all cases since this {@code LoginModule}
      *          should not be ignored.
      */
     public boolean logout() throws LoginException {
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTSystem.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTSystem.java	Wed Apr 29 08:52:47 2015 -0700
@@ -26,7 +26,7 @@
 package com.sun.security.auth.module;
 
 /**
- * <p> This class implementation retrieves and makes available NT
+ * This class implementation retrieves and makes available NT
  * security information for the current user.
  *
  */
@@ -45,7 +45,7 @@
     private long   impersonationToken;
 
     /**
-     * Instantiate an <code>NTSystem</code> and load
+     * Instantiate an {@code NTSystem} and load
      * the native library to access the underlying system information.
      */
     public NTSystem() {
@@ -53,7 +53,7 @@
     }
 
     /**
-     * Instantiate an <code>NTSystem</code> and load
+     * Instantiate an {@code NTSystem} and load
      * the native library to access the underlying system information.
      */
     NTSystem(boolean debug) {
@@ -64,8 +64,6 @@
     /**
      * Get the username for the current NT user.
      *
-     * <p>
-     *
      * @return the username for the current NT user.
      */
     public String getName() {
@@ -75,8 +73,6 @@
     /**
      * Get the domain for the current NT user.
      *
-     * <p>
-     *
      * @return the domain for the current NT user.
      */
     public String getDomain() {
@@ -86,8 +82,6 @@
     /**
      * Get a printable SID for the current NT user's domain.
      *
-     * <p>
-     *
      * @return a printable SID for the current NT user's domain.
      */
     public String getDomainSID() {
@@ -97,8 +91,6 @@
     /**
      * Get a printable SID for the current NT user.
      *
-     * <p>
-     *
      * @return a printable SID for the current NT user.
      */
     public String getUserSID() {
@@ -108,8 +100,6 @@
     /**
      * Get a printable primary group SID for the current NT user.
      *
-     * <p>
-     *
      * @return the primary group SID for the current NT user.
      */
     public String getPrimaryGroupID() {
@@ -119,8 +109,6 @@
     /**
      * Get the printable group SIDs for the current NT user.
      *
-     * <p>
-     *
      * @return the group SIDs for the current NT user.
      */
     public String[] getGroupIDs() {
@@ -130,8 +118,6 @@
     /**
      * Get an impersonation token for the current NT user.
      *
-     * <p>
-     *
      * @return an impersonation token for the current NT user.
      */
     public synchronized long getImpersonationToken() {
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	Wed Apr 29 08:52:47 2015 -0700
@@ -36,17 +36,17 @@
 import com.sun.security.auth.SolarisNumericGroupPrincipal;
 
 /**
- * <p> This <code>LoginModule</code> imports a user's Solaris
- * <code>Principal</code> information (<code>SolarisPrincipal</code>,
- * <code>SolarisNumericUserPrincipal</code>,
- * and <code>SolarisNumericGroupPrincipal</code>)
- * and associates them with the current <code>Subject</code>.
+ * This {@code LoginModule} imports a user's Solaris
+ * {@code Principal} information ({@code SolarisPrincipal},
+ * {@code SolarisNumericUserPrincipal},
+ * and {@code SolarisNumericGroupPrincipal})
+ * and associates them with the current {@code Subject}.
  *
  * <p> This LoginModule recognizes the debug option.
  * If set to true in the login Configuration,
  * debug messages will be output to the output stream, System.out.
  * @deprecated  As of JDK1.4, replaced by
- * <code>com.sun.security.auth.module.UnixLoginModule</code>.
+ * {@code com.sun.security.auth.module.UnixLoginModule}.
  *             This LoginModule is entirely deprecated and
  *             is here to allow for a smooth transition to the new
  *             UnixLoginModule.
@@ -80,21 +80,19 @@
                 new LinkedList<>();
 
     /**
-     * Initialize this <code>LoginModule</code>.
+     * Initialize this {@code LoginModule}.
      *
-     * <p>
+     * @param subject the {@code Subject} to be authenticated.
      *
-     * @param subject the <code>Subject</code> to be authenticated. <p>
+     * @param callbackHandler a {@code CallbackHandler} for communicating
+     *                  with the end user (prompting for usernames and
+     *                  passwords, for example).
      *
-     * @param callbackHandler a <code>CallbackHandler</code> for communicating
-     *                  with the end user (prompting for usernames and
-     *                  passwords, for example). <p>
-     *
-     * @param sharedState shared <code>LoginModule</code> state. <p>
+     * @param sharedState shared {@code LoginModule} state.
      *
      * @param options options specified in the login
-     *                  <code>Configuration</code> for this particular
-     *                  <code>LoginModule</code>.
+     *                  {@code Configuration} for this particular
+     *                  {@code LoginModule}.
      */
     public void initialize(Subject subject, CallbackHandler callbackHandler,
                            Map<String,?> sharedState,
@@ -114,15 +112,13 @@
      * Authenticate the user (first phase).
      *
      * <p> The implementation of this method attempts to retrieve the user's
-     * Solaris <code>Subject</code> information by making a native Solaris
+     * Solaris {@code Subject} information by making a native Solaris
      * system call.
      *
-     * <p>
-     *
      * @exception FailedLoginException if attempts to retrieve the underlying
      *          system information fail.
      *
-     * @return true in all cases (this <code>LoginModule</code>
+     * @return true in all cases (this {@code LoginModule}
      *          should not be ignored).
      */
     public boolean login() throws LoginException {
@@ -175,13 +171,11 @@
      * <p> If this LoginModule's own authentication attempt
      * succeeded (the importing of the Solaris authentication information
      * succeeded), then this method associates the Solaris Principals
-     * with the <code>Subject</code> currently tied to the
-     * <code>LoginModule</code>.  If this LoginModule's
+     * with the {@code Subject} currently tied to the
+     * {@code LoginModule}.  If this LoginModule's
      * authentication attempted failed, then this method removes
      * any state that was originally saved.
      *
-     * <p>
-     *
      * @exception LoginException if the commit fails
      *
      * @return true if this LoginModule's own login and commit attempts
@@ -232,10 +226,8 @@
      * did not succeed).
      *
      * <p> This method cleans up any state that was originally saved
-     * as part of the authentication attempt from the <code>login</code>
-     * and <code>commit</code> methods.
-     *
-     * <p>
+     * as part of the authentication attempt from the {@code login}
+     * and {@code commit} methods.
      *
      * @exception LoginException if the abort fails
      *
@@ -272,13 +264,11 @@
      * Logout the user
      *
      * <p> This method removes the Principals associated
-     * with the <code>Subject</code>.
-     *
-     * <p>
+     * with the {@code Subject}.
      *
      * @exception LoginException if the logout fails
      *
-     * @return true in all cases (this <code>LoginModule</code>
+     * @return true in all cases (this {@code LoginModule}
      *          should not be ignored).
      */
     public boolean logout() throws LoginException {
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/SolarisSystem.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/SolarisSystem.java	Wed Apr 29 08:52:47 2015 -0700
@@ -26,7 +26,7 @@
 package com.sun.security.auth.module;
 
 /**
- * <p> This class implementation retrieves and makes available Solaris
+ * This class implementation retrieves and makes available Solaris
  * UID/GID/groups information for the current user.
  *
  * @deprecated replaced by {@link UnixSystem}.
@@ -43,7 +43,7 @@
     protected long[] groups;
 
     /**
-     * Instantiate a <code>SolarisSystem</code> and load
+     * Instantiate a {@code SolarisSystem} and load
      * the native library to access the underlying system information.
      */
     public SolarisSystem() {
@@ -54,8 +54,6 @@
     /**
      * Get the username for the current Solaris user.
      *
-     * <p>
-     *
      * @return the username for the current Solaris user.
      */
     public String getUsername() {
@@ -65,8 +63,6 @@
     /**
      * Get the UID for the current Solaris user.
      *
-     * <p>
-     *
      * @return the UID for the current Solaris user.
      */
     public long getUid() {
@@ -76,8 +72,6 @@
     /**
      * Get the GID for the current Solaris user.
      *
-     * <p>
-     *
      * @return the GID for the current Solaris user.
      */
     public long getGid() {
@@ -87,8 +81,6 @@
     /**
      * Get the supplementary groups for the current Solaris user.
      *
-     * <p>
-     *
      * @return the supplementary groups for the current Solaris user.
      */
     public long[] getGroups() {
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixLoginModule.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixLoginModule.java	Wed Apr 29 08:52:47 2015 -0700
@@ -36,11 +36,11 @@
 import com.sun.security.auth.UnixNumericGroupPrincipal;
 
 /**
- * <p> This <code>LoginModule</code> imports a user's Unix
- * <code>Principal</code> information (<code>UnixPrincipal</code>,
- * <code>UnixNumericUserPrincipal</code>,
- * and <code>UnixNumericGroupPrincipal</code>)
- * and associates them with the current <code>Subject</code>.
+ * This {@code LoginModule} imports a user's Unix
+ * {@code Principal} information ({@code UnixPrincipal},
+ * {@code UnixNumericUserPrincipal},
+ * and {@code UnixNumericGroupPrincipal})
+ * and associates them with the current {@code Subject}.
  *
  * <p> This LoginModule recognizes the debug option.
  * If set to true in the login Configuration,
@@ -74,21 +74,19 @@
                 new LinkedList<>();
 
     /**
-     * Initialize this <code>LoginModule</code>.
+     * Initialize this {@code LoginModule}.
      *
-     * <p>
+     * @param subject the {@code Subject} to be authenticated.
      *
-     * @param subject the <code>Subject</code> to be authenticated. <p>
+     * @param callbackHandler a {@code CallbackHandler} for communicating
+     *                  with the end user (prompting for usernames and
+     *                  passwords, for example).
      *
-     * @param callbackHandler a <code>CallbackHandler</code> for communicating
-     *                  with the end user (prompting for usernames and
-     *                  passwords, for example). <p>
-     *
-     * @param sharedState shared <code>LoginModule</code> state. <p>
+     * @param sharedState shared {@code LoginModule} state.
      *
      * @param options options specified in the login
-     *                  <code>Configuration</code> for this particular
-     *                  <code>LoginModule</code>.
+     *                  {@code Configuration} for this particular
+     *                  {@code LoginModule}.
      */
     public void initialize(Subject subject, CallbackHandler callbackHandler,
                            Map<String,?> sharedState,
@@ -107,15 +105,13 @@
      * Authenticate the user (first phase).
      *
      * <p> The implementation of this method attempts to retrieve the user's
-     * Unix <code>Subject</code> information by making a native Unix
+     * Unix {@code Subject} information by making a native Unix
      * system call.
      *
-     * <p>
-     *
      * @exception FailedLoginException if attempts to retrieve the underlying
      *          system information fail.
      *
-     * @return true in all cases (this <code>LoginModule</code>
+     * @return true in all cases (this {@code LoginModule}
      *          should not be ignored).
      */
     public boolean login() throws LoginException {
@@ -169,13 +165,11 @@
      * <p> If this LoginModule's own authentication attempt
      * succeeded (the importing of the Unix authentication information
      * succeeded), then this method associates the Unix Principals
-     * with the <code>Subject</code> currently tied to the
-     * <code>LoginModule</code>.  If this LoginModule's
+     * with the {@code Subject} currently tied to the
+     * {@code LoginModule}.  If this LoginModule's
      * authentication attempted failed, then this method removes
      * any state that was originally saved.
      *
-     * <p>
-     *
      * @exception LoginException if the commit fails
      *
      * @return true if this LoginModule's own login and commit attempts
@@ -228,10 +222,8 @@
      * did not succeed).
      *
      * <p> This method cleans up any state that was originally saved
-     * as part of the authentication attempt from the <code>login</code>
-     * and <code>commit</code> methods.
-     *
-     * <p>
+     * as part of the authentication attempt from the {@code login}
+     * and {@code commit} methods.
      *
      * @exception LoginException if the abort fails
      *
@@ -267,13 +259,11 @@
      * Logout the user
      *
      * <p> This method removes the Principals associated
-     * with the <code>Subject</code>.
-     *
-     * <p>
+     * with the {@code Subject}.
      *
      * @exception LoginException if the logout fails
      *
-     * @return true in all cases (this <code>LoginModule</code>
+     * @return true in all cases (this {@code LoginModule}
      *          should not be ignored).
      */
     public boolean logout() throws LoginException {
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixSystem.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixSystem.java	Wed Apr 29 08:52:47 2015 -0700
@@ -26,9 +26,8 @@
 package com.sun.security.auth.module;
 
 /**
- * <p> This class implementation retrieves and makes available Unix
+ * This class implementation retrieves and makes available Unix
  * UID/GID/groups information for the current user.
- *
  */
 @jdk.Exported
 public class UnixSystem {
@@ -41,7 +40,7 @@
     protected long[] groups;
 
     /**
-     * Instantiate a <code>UnixSystem</code> and load
+     * Instantiate a {@code UnixSystem} and load
      * the native library to access the underlying system information.
      */
     public UnixSystem() {
@@ -52,8 +51,6 @@
     /**
      * Get the username for the current Unix user.
      *
-     * <p>
-     *
      * @return the username for the current Unix user.
      */
     public String getUsername() {
@@ -63,8 +60,6 @@
     /**
      * Get the UID for the current Unix user.
      *
-     * <p>
-     *
      * @return the UID for the current Unix user.
      */
     public long getUid() {
@@ -74,8 +69,6 @@
     /**
      * Get the GID for the current Unix user.
      *
-     * <p>
-     *
      * @return the GID for the current Unix user.
      */
     public long getGid() {
@@ -85,8 +78,6 @@
     /**
      * Get the supplementary groups for the current Unix user.
      *
-     * <p>
-     *
      * @return the supplementary groups for the current Unix user.
      */
     public long[] getGroups() {
--- a/test/java/lang/Runtime/exec/LotsOfOutput.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/test/java/lang/Runtime/exec/LotsOfOutput.java	Wed Apr 29 08:52:47 2015 -0700
@@ -41,7 +41,12 @@
         long initMemory = Runtime.getRuntime().totalMemory();
         for (int i=1; i< 10; i++) {
             Thread.sleep(100);
-            if (Runtime.getRuntime().totalMemory() > initMemory + 1000000)
+            long totalMemory = Runtime.getRuntime().totalMemory();
+            if (totalMemory != initMemory) {
+                System.out.printf("consuming memory: i: %d, initial: %d, total: %d, delta: %d%n",
+                        i, initMemory, totalMemory, totalMemory - initMemory);
+            }
+            if (totalMemory > initMemory + 1000000)
                 throw new Exception("Process consumes memory.");
         }
 
--- a/test/java/time/tck/java/time/TCKLocalDateTime.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/test/java/time/tck/java/time/TCKLocalDateTime.java	Wed Apr 29 08:52:47 2015 -0700
@@ -107,8 +107,6 @@
 import static org.testng.Assert.assertTrue;
 import static org.testng.Assert.fail;
 
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
 import java.time.Clock;
 import java.time.DateTimeException;
 import java.time.DayOfWeek;
@@ -260,16 +258,17 @@
     //-----------------------------------------------------------------------
     @Test(timeOut=30000)  // TODO: remove when time zone loading is faster
     public void now() {
+        final long DELTA = 20_000_000_000L;    // 20 seconds of nanos leeway
         LocalDateTime expected = LocalDateTime.now(Clock.systemDefaultZone());
         LocalDateTime test = LocalDateTime.now();
         long diff = Math.abs(test.toLocalTime().toNanoOfDay() - expected.toLocalTime().toNanoOfDay());
-        if (diff >= 100000000) {
+        if (diff >= DELTA) {
             // may be date change
             expected = LocalDateTime.now(Clock.systemDefaultZone());
             test = LocalDateTime.now();
             diff = Math.abs(test.toLocalTime().toNanoOfDay() - expected.toLocalTime().toNanoOfDay());
         }
-        assertTrue(diff < 100000000);  // less than 0.1 secs
+        assertTrue(diff < DELTA);
     }
 
     //-----------------------------------------------------------------------
--- a/test/java/time/tck/java/time/TCKOffsetDateTime.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/test/java/time/tck/java/time/TCKOffsetDateTime.java	Wed Apr 29 08:52:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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
@@ -104,8 +104,6 @@
 import static org.testng.Assert.assertTrue;
 import static org.testng.Assert.fail;
 
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.time.Clock;
@@ -235,16 +233,17 @@
     //-----------------------------------------------------------------------
     @Test
     public void now() {
+        final long DELTA = 20_000_000_000L;    // 20 seconds of nanos leeway
         OffsetDateTime expected = OffsetDateTime.now(Clock.systemDefaultZone());
         OffsetDateTime test = OffsetDateTime.now();
         long diff = Math.abs(test.toLocalTime().toNanoOfDay() - expected.toLocalTime().toNanoOfDay());
-        if (diff >= 100000000) {
+        if (diff >= DELTA) {
             // may be date change
             expected = OffsetDateTime.now(Clock.systemDefaultZone());
             test = OffsetDateTime.now();
             diff = Math.abs(test.toLocalTime().toNanoOfDay() - expected.toLocalTime().toNanoOfDay());
         }
-        assertTrue(diff < 100000000);  // less than 0.1 secs
+        assertTrue(diff < DELTA);
     }
 
     //-----------------------------------------------------------------------
--- a/test/java/time/tck/java/time/TCKOffsetTime.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/test/java/time/tck/java/time/TCKOffsetTime.java	Wed Apr 29 08:52:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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
@@ -89,8 +89,6 @@
 import static org.testng.Assert.assertTrue;
 import static org.testng.Assert.fail;
 
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.time.Clock;
@@ -202,12 +200,19 @@
     //-----------------------------------------------------------------------
     @Test
     public void now() {
+        final long DELTA = 20_000_000_000L;    // 20 seconds of nanos leeway
         ZonedDateTime nowDT = ZonedDateTime.now();
 
         OffsetTime expected = OffsetTime.now(Clock.systemDefaultZone());
         OffsetTime test = OffsetTime.now();
         long diff = Math.abs(test.toLocalTime().toNanoOfDay() - expected.toLocalTime().toNanoOfDay());
-        assertTrue(diff < 100000000);  // less than 0.1 secs
+        if (diff >= DELTA) {
+            // may be date change
+            expected = OffsetTime.now(Clock.systemDefaultZone());
+            test = OffsetTime.now();
+            diff = Math.abs(test.toLocalTime().toNanoOfDay() - expected.toLocalTime().toNanoOfDay());
+        }
+        assertTrue(diff < DELTA);
         assertEquals(test.getOffset(), nowDT.getOffset());
     }
 
--- a/test/java/util/prefs/CodePointZeroPrefsTest.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/test/java/util/prefs/CodePointZeroPrefsTest.java	Wed Apr 29 08:52:47 2015 -0700
@@ -26,9 +26,8 @@
 
 /*
  * @test
- * @bug 8068373
- * @requires os.family == "linux" | os.family == "solaris"
- * @summary Ensure writing a code point U+0000 null control character is detected.
+ * @bug 8068373 8075110 8075156
+ * @summary Ensure a code point U+0000 null control character is detected.
  */
 public class CodePointZeroPrefsTest
 {
@@ -36,52 +35,70 @@
     {
         int failures = 0;
 
-        // Deliberately reflect so you can reproduce it on any platform.
-        Constructor<? extends PreferencesFactory> constructor =
-            Class.forName("java.util.prefs.FileSystemPreferencesFactory").asSubclass(PreferencesFactory.class).getDeclaredConstructor();
-        constructor.setAccessible(true);
-        PreferencesFactory factory = constructor.newInstance();
+        Preferences node = Preferences.userRoot().node("com/acme/testing");
 
-        Preferences node = factory.userRoot().node("com/acme/testing");
+        // --- put() ---
 
         // legal key and value
         try {
             node.put("a", "1");
         } catch (IllegalArgumentException iae) {
-            System.err.println("Unexpected IllegalArgumentException for legal key");
+            System.err.println("Unexpected IllegalArgumentException for legal put() key");
             failures++;
         }
 
         // illegal key only
-        int numIAEs = 0;
         try {
             node.put("a\u0000b", "1");
-            System.err.println("IllegalArgumentException not thrown for illegal key");
+            System.err.println("IllegalArgumentException not thrown for illegal put() key");
             failures++;
         } catch (IllegalArgumentException iae) {
             // do nothing
         }
 
         // illegal value only
-        numIAEs = 0;
         try {
             node.put("ab", "2\u00003");
-            System.err.println("IllegalArgumentException not thrown for illegal value");
+            System.err.println("IllegalArgumentException not thrown for illegal put() value");
             failures++;
         } catch (IllegalArgumentException iae) {
             // do nothing
         }
 
         // illegal key and value
-        numIAEs = 0;
         try {
             node.put("a\u0000b", "2\u00003");
-            System.err.println("IllegalArgumentException not thrown for illegal entry");
+            System.err.println("IllegalArgumentException not thrown for illegal put() entry");
             failures++;
         } catch (IllegalArgumentException iae) {
             // do nothing
         }
 
+        // --- get ---
+
+        // illegal key only
+        try {
+            String theDefault = "default";
+            String value = node.get("a\u0000b", theDefault);
+            System.err.println("IllegalArgumentException not thrown for illegal get() key");
+            failures++;
+        } catch (IllegalArgumentException iae) {
+            // do nothing
+        }
+
+        // --- remove ---
+
+        // illegal key only
+        try {
+            node.remove("a\u0000b");
+            System.err.println("IllegalArgumentException not thrown for illegal remove() key");
+            failures++;
+        } catch (IllegalArgumentException iae) {
+            // do nothing
+        }
+
+        node.removeNode();
+
         if (failures != 0) {
             throw new RuntimeException("CodePointZeroPrefsTest failed with "
                 + failures + " errors!");
--- a/test/sun/security/mscapi/SignUsingSHA2withRSA.sh	Wed Apr 29 12:54:36 2015 +0300
+++ b/test/sun/security/mscapi/SignUsingSHA2withRSA.sh	Wed Apr 29 08:52:47 2015 -0700
@@ -28,6 +28,7 @@
 # @bug 6753664
 # @run shell SignUsingSHA2withRSA.sh
 # @summary Support SHA256 (and higher) in SunMSCAPI
+# @key intermittent
 
 # set a few environment variables so that the shell-script can run stand-alone
 # in the source directory
--- a/test/sun/security/pkcs11/rsa/TestKeyPairGenerator.java	Wed Apr 29 12:54:36 2015 +0300
+++ b/test/sun/security/pkcs11/rsa/TestKeyPairGenerator.java	Wed Apr 29 08:52:47 2015 -0700
@@ -28,6 +28,7 @@
  * @author Andreas Sterbenz
  * @library ..
  * @run main/othervm TestKeyPairGenerator
+ * @key intermittent
  */
 
 import java.io.*;