diff --git a/src/java.base/share/classes/java/lang/AssertionError.java b/src/java.base/share/classes/java/lang/AssertionError.java
index 704e774468a..546b0cb58e5 100644
--- a/src/java.base/share/classes/java/lang/AssertionError.java
+++ b/src/java.base/share/classes/java/lang/AssertionError.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2020, 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
@@ -34,7 +34,7 @@ package java.lang;
* new AssertionError(expression)
*
* has as its detail message the string conversion of
- * expression (as defined in section 15.18.1.1 of
+ * expression (as defined in section {@jls 5.1.11} of
* The Java Language Specification),
* regardless of the type of expression.
*
@@ -62,7 +62,7 @@ public class AssertionError extends Error {
/**
* Constructs an AssertionError with its detail message derived
* from the specified object, which is converted to a string as
- * defined in section 15.18.1.1 of
+ * defined in section {@jls 5.1.11} of
* The Java Language Specification.
*
* If the specified object is an instance of {@code Throwable}, it
@@ -80,7 +80,7 @@ public class AssertionError extends Error {
/**
* Constructs an AssertionError with its detail message derived
* from the specified {@code boolean}, which is converted to
- * a string as defined in section 15.18.1.1 of
+ * a string as defined in section {@jls 5.1.11} of
* The Java Language Specification.
*
* @param detailMessage value to be used in constructing detail message
@@ -92,7 +92,7 @@ public class AssertionError extends Error {
/**
* Constructs an AssertionError with its detail message derived
* from the specified {@code char}, which is converted to a
- * string as defined in section 15.18.1.1 of
+ * string as defined in section {@jls 5.1.11} of
* The Java Language Specification.
*
* @param detailMessage value to be used in constructing detail message
@@ -104,7 +104,7 @@ public class AssertionError extends Error {
/**
* Constructs an AssertionError with its detail message derived
* from the specified {@code int}, which is converted to a
- * string as defined in section 15.18.1.1 of
+ * string as defined in section {@jls 5.1.11} of
* The Java Language Specification.
*
* @param detailMessage value to be used in constructing detail message
@@ -116,7 +116,7 @@ public class AssertionError extends Error {
/**
* Constructs an AssertionError with its detail message derived
* from the specified {@code long}, which is converted to a
- * string as defined in section 15.18.1.1 of
+ * string as defined in section {@jls 5.1.11} of
* The Java Language Specification.
*
* @param detailMessage value to be used in constructing detail message
@@ -128,7 +128,7 @@ public class AssertionError extends Error {
/**
* Constructs an AssertionError with its detail message derived
* from the specified {@code float}, which is converted to a
- * string as defined in section 15.18.1.1 of
+ * string as defined in section {@jls 5.1.11} of
* The Java Language Specification.
*
* @param detailMessage value to be used in constructing detail message
@@ -140,7 +140,7 @@ public class AssertionError extends Error {
/**
* Constructs an AssertionError with its detail message derived
* from the specified {@code double}, which is converted to a
- * string as defined in section 15.18.1.1 of
+ * string as defined in section {@jls 5.1.11} of
* The Java Language Specification.
*
* @param detailMessage value to be used in constructing detail message
diff --git a/src/java.base/share/classes/java/lang/Byte.java b/src/java.base/share/classes/java/lang/Byte.java
index 98c2ef422d4..e71eba7b2d5 100644
--- a/src/java.base/share/classes/java/lang/Byte.java
+++ b/src/java.base/share/classes/java/lang/Byte.java
@@ -289,7 +289,7 @@ public final class Byte extends Number implements Comparable, Constable {
*
*
* DecimalNumeral, HexDigits, and OctalDigits
- * are as defined in section 3.10.1 of
+ * are as defined in section {@jls 3.10.1} of
* The Java Language Specification,
* except that underscores are not accepted between digits.
*
diff --git a/src/java.base/share/classes/java/lang/ClassLoader.java b/src/java.base/share/classes/java/lang/ClassLoader.java
index d8bd0ee66bd..aff4857e410 100644
--- a/src/java.base/share/classes/java/lang/ClassLoader.java
+++ b/src/java.base/share/classes/java/lang/ClassLoader.java
@@ -2531,7 +2531,7 @@ public abstract class ClassLoader {
* The name of the package whose package default assertion status
* is to be set. A {@code null} value indicates the unnamed
* package that is "current"
- * (see section 7.4.2 of
+ * (see section {@jls 7.4.2} of
* The Java Language Specification.)
*
* @param enabled
diff --git a/src/java.base/share/classes/java/lang/Integer.java b/src/java.base/share/classes/java/lang/Integer.java
index 6f6b845ce96..cf67cc42d74 100644
--- a/src/java.base/share/classes/java/lang/Integer.java
+++ b/src/java.base/share/classes/java/lang/Integer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2020, 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
@@ -1376,7 +1376,7 @@ public final class Integer extends Number
*
*
* DecimalNumeral, HexDigits, and OctalDigits
- * are as defined in section 3.10.1 of
+ * are as defined in section {@jls 3.10.1} of
* The Java Language Specification,
* except that underscores are not accepted between digits.
*
diff --git a/src/java.base/share/classes/java/lang/Long.java b/src/java.base/share/classes/java/lang/Long.java
index 4a51ae20b22..953f352a873 100644
--- a/src/java.base/share/classes/java/lang/Long.java
+++ b/src/java.base/share/classes/java/lang/Long.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2020, 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
@@ -1228,7 +1228,7 @@ public final class Long extends Number
*
*
* DecimalNumeral, HexDigits, and OctalDigits
- * are as defined in section 3.10.1 of
+ * are as defined in section {@jls 3.10.1} of
* The Java Language Specification,
* except that underscores are not accepted between digits.
*
diff --git a/src/java.base/share/classes/java/lang/Module.java b/src/java.base/share/classes/java/lang/Module.java
index 32279ba4c2c..119621c9b16 100644
--- a/src/java.base/share/classes/java/lang/Module.java
+++ b/src/java.base/share/classes/java/lang/Module.java
@@ -85,7 +85,7 @@ import sun.security.util.SecurityConstants;
*
*
The package names that are parameters or returned by methods defined in
* this class are the fully-qualified names of the packages as defined in
- * section 6.5.3 of The Java Language Specification, for
+ * section {@jls 6.5.3} of The Java Language Specification, for
* example, {@code "java.lang"}.
*
*
Unless otherwise specified, passing a {@code null} argument to a method
@@ -672,7 +672,7 @@ public final class Module implements AnnotatedElement {
*
This method has no effect if the package is already exported (or
* open) to the given module.
*
- * @apiNote As specified in section 5.4.3 of the The Java
+ * @apiNote As specified in section {@jvms 5.4.3} of the The Java
* Virtual Machine Specification , if an attempt to resolve a
* symbolic reference fails because of a linkage error, then subsequent
* attempts to resolve the reference always fail with the same error that
diff --git a/src/java.base/share/classes/java/lang/Package.java b/src/java.base/share/classes/java/lang/Package.java
index e359881d874..934bc0ed992 100644
--- a/src/java.base/share/classes/java/lang/Package.java
+++ b/src/java.base/share/classes/java/lang/Package.java
@@ -121,7 +121,7 @@ public class Package extends NamedPackage implements java.lang.reflect.Annotated
/**
* Return the name of this package.
*
- * @return The fully-qualified name of this package as defined in section 6.5.3 of
+ * @return The fully-qualified name of this package as defined in section {@jls 6.5.3} of
* The Java Language Specification,
* for example, {@code java.lang}
*/
diff --git a/src/java.base/share/classes/java/lang/Short.java b/src/java.base/share/classes/java/lang/Short.java
index 2824c2dc8d3..53ca694291d 100644
--- a/src/java.base/share/classes/java/lang/Short.java
+++ b/src/java.base/share/classes/java/lang/Short.java
@@ -294,7 +294,7 @@ public final class Short extends Number implements Comparable, Constable
*
*
* DecimalNumeral, HexDigits, and OctalDigits
- * are as defined in section 3.10.1 of
+ * are as defined in section {@jls 3.10.1} of
* The Java Language Specification,
* except that underscores are not accepted between digits.
*
diff --git a/src/java.base/share/classes/java/lang/StackTraceElement.java b/src/java.base/share/classes/java/lang/StackTraceElement.java
index cbbae0e248d..b23aafbfe3b 100644
--- a/src/java.base/share/classes/java/lang/StackTraceElement.java
+++ b/src/java.base/share/classes/java/lang/StackTraceElement.java
@@ -153,8 +153,8 @@ public final class StackTraceElement implements java.io.Serializable {
* Returns the name of the source file containing the execution point
* represented by this stack trace element. Generally, this corresponds
* to the {@code SourceFile} attribute of the relevant {@code class}
- * file (as per The Java Virtual Machine Specification, Section
- * 4.7.7). In some systems, the name may refer to some source code unit
+ * file (as per The Java Virtual Machine Specification, Section
+ * {@jvms 4.7.7}). In some systems, the name may refer to some source code unit
* other than a file, such as an entry in source repository.
*
* @return the name of the file containing the execution point
@@ -169,8 +169,8 @@ public final class StackTraceElement implements java.io.Serializable {
* Returns the line number of the source line containing the execution
* point represented by this stack trace element. Generally, this is
* derived from the {@code LineNumberTable} attribute of the relevant
- * {@code class} file (as per The Java Virtual Machine
- * Specification, Section 4.7.8).
+ * {@code class} file (as per The Java Virtual Machine
+ * Specification, Section {@jvms 4.7.8}).
*
* @return the line number of the source line containing the execution
* point represented by this stack trace element, or a negative
@@ -242,8 +242,8 @@ public final class StackTraceElement implements java.io.Serializable {
* represented by this stack trace element. If the execution point is
* contained in an instance or class initializer, this method will return
* the appropriate special method name, {@code } or
- * {@code }, as per Section 3.9 of The Java Virtual
- * Machine Specification.
+ * {@code }, as per Section {@jvms 3.9} of The Java Virtual
+ * Machine Specification.
*
* @return the name of the method containing the execution point
* represented by this stack trace element.
diff --git a/src/java.base/share/classes/java/lang/String.java b/src/java.base/share/classes/java/lang/String.java
index 8ed94e7aa31..8ef0a423f9e 100644
--- a/src/java.base/share/classes/java/lang/String.java
+++ b/src/java.base/share/classes/java/lang/String.java
@@ -3533,12 +3533,11 @@ public final class String
* if and only if {@code s.equals(t)} is {@code true}.
*
* All literal strings and string-valued constant expressions are
- * interned. String literals are defined in section 3.10.5 of the
+ * interned. String literals are defined in section {@jls 3.10.5} of the
* The Java Language Specification.
*
* @return a string that has the same contents as this string, but is
* guaranteed to be from a pool of unique strings.
- * @jls 3.10.5 String Literals
*/
public native String intern();
diff --git a/src/java.base/share/classes/java/lang/ref/Reference.java b/src/java.base/share/classes/java/lang/ref/Reference.java
index 9e41aac327b..fa3d699e54a 100644
--- a/src/java.base/share/classes/java/lang/ref/Reference.java
+++ b/src/java.base/share/classes/java/lang/ref/Reference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020, 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
@@ -418,7 +418,7 @@ public abstract class Reference {
* {@code synchronized} blocks or methods, or using other synchronization
* facilities are not possible or do not provide the desired control. This
* method is applicable only when reclamation may have visible effects,
- * which is possible for objects with finalizers (See Section 12.6
+ * which is possible for objects with finalizers (See Section {@jls 12.6}
* of The Java Language Specification) that
* are implemented in ways that rely on ordering control for
* correctness.
diff --git a/src/java.base/share/classes/java/lang/reflect/Constructor.java b/src/java.base/share/classes/java/lang/reflect/Constructor.java
index d762d31644e..45a7cb0312a 100644
--- a/src/java.base/share/classes/java/lang/reflect/Constructor.java
+++ b/src/java.base/share/classes/java/lang/reflect/Constructor.java
@@ -436,7 +436,7 @@ public final class Constructor extends Executable {
*
*
If the constructor's declaring class is an inner class in a
* non-static context, the first argument to the constructor needs
- * to be the enclosing instance; see section 15.9.3 of
+ * to be the enclosing instance; see section {@jls 15.9.3} of
* The Java Language Specification.
*
*
If the required access and argument checks succeed and the
diff --git a/src/java.base/share/classes/java/lang/reflect/Modifier.java b/src/java.base/share/classes/java/lang/reflect/Modifier.java
index 1355a6c664d..3d1cd305964 100644
--- a/src/java.base/share/classes/java/lang/reflect/Modifier.java
+++ b/src/java.base/share/classes/java/lang/reflect/Modifier.java
@@ -32,7 +32,8 @@ import java.util.StringJoiner;
* constants to decode class and member access modifiers. The sets of
* modifiers are represented as integers with distinct bit positions
* representing different modifiers. The values for the constants
- * representing the modifiers are taken from the tables in sections 4.1, 4.4, 4.5, and 4.7 of
+ * representing the modifiers are taken from the tables in sections
+ * {@jvms 4.1}, {@jvms 4.4}, {@jvms 4.5}, and {@jvms 4.7} of
* The Java Virtual Machine Specification.
*
* @see Class#getModifiers()
diff --git a/src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java b/src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java
index 2ae0911a4bb..ce627f1f23e 100644
--- a/src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java
+++ b/src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java
@@ -392,7 +392,7 @@ final class ProxyGenerator extends ClassWriter {
/**
* Return the number of abstract "words", or consecutive local variable
* indexes, required to contain a value of the given type. See JVMS
- * section 3.6.1.
+ * section {@jvms 3.6.1}.
*
* Note that the original version of the JVMS contained a definition of
* this abstract notion of a "word" in section 3.4, but that definition
diff --git a/src/java.base/share/classes/java/util/Properties.java b/src/java.base/share/classes/java/util/Properties.java
index 2f4bc9d0332..e67042b5472 100644
--- a/src/java.base/share/classes/java/util/Properties.java
+++ b/src/java.base/share/classes/java/util/Properties.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2020, 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
@@ -94,7 +94,7 @@ import jdk.internal.util.xml.PropertiesDefaultHandler;
* methods work the same way as the load(Reader)/store(Writer, String) pair, except
* the input/output stream is encoded in ISO 8859-1 character encoding.
* Characters that cannot be directly represented in this encoding can be written using
- * Unicode escapes as defined in section 3.3 of
+ * Unicode escapes as defined in section {@jls 3.3} of
* The Java Language Specification;
* only a single 'u' character is allowed in an escape
* sequence.
@@ -336,7 +336,7 @@ public class Properties extends Hashtable