diff --git a/make/docs/Makefile b/make/docs/Makefile index 520272b5f5a5a3a0c2d777a5a681bb561471bcc0..273c664efd57aeab2e5c913a675038b3f7b7ed52 100644 --- a/make/docs/Makefile +++ b/make/docs/Makefile @@ -53,7 +53,7 @@ DEV_DOCS_URL-7 = http://download.oracle.com/javase/7/docs/index.html DEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION)) # Url to Java Language Spec -JLS3_URL = http://java.sun.com/docs/books/jls/ +#JLS3_URL = http://java.sun.com/docs/books/jls/ # Common Java trademark line JAVA_TRADEMARK_LINE = Java is a trademark or registered trademark of \ @@ -293,8 +293,8 @@ COREAPI_HEADER = \ Java$(TRADEMARK) Platform
Standard Ed. $(JDK_MINOR_VERSION)
# Java language specification cite -TAG_JLS3 = jls3:a:See \ -The Java Language Specification, Third Edition: +TAG_JLS = jls:a:See \ +The Java™ Language Specification: # Overview file for core apis COREAPI_OVERVIEW = $(SHARE_SRC)/classes/overview-core.html @@ -329,7 +329,7 @@ $(COREAPI_OPTIONS_FILE): $(COREAPI_OVERVIEW) $(call OptionPair,-tag,specdefault:X) ; \ $(call OptionPair,-tag,Note:X) ; \ $(call OptionPair,-tag,ToDo:X) ; \ - $(call OptionPair,-tag,$(TAG_JLS3)) ; \ + $(call OptionPair,-tag,$(TAG_JLS)) ; \ $(call OptionOnly,-splitIndex) ; \ $(call OptionPair,-overview,$(COREAPI_OVERVIEW)) ; \ $(call OptionPair,-doctitle,$(COREAPI_DOCTITLE)) ; \ @@ -1081,6 +1081,7 @@ $(TREEAPI_OPTIONS_FILE): $(call OptionPair,-doctitle,$(TREEAPI_DOCTITLE)) ; \ $(call OptionPair,-windowtitle,$(TREEAPI_WINDOWTITLE) $(DRAFT_WINTITLE));\ $(call OptionPair,-header,$(TREEAPI_HEADER)$(DRAFT_HEADER)) ; \ + $(call OptionPair,-tag,$(TAG_JLS)) ; \ $(call OptionPair,-bottom,$(TREEAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \ $(call OptionTrip,-group,$(TREEAPI_GROUPNAME),$(TREEAPI_REGEXP)); \ $(call OptionTrip,-linkoffline,$(TREEAPI2COREAPI),$(COREAPI_DOCSDIR)/); \ diff --git a/make/jpda/jdwp/jdwp.spec b/make/jpda/jdwp/jdwp.spec index 0a3fd9faf978796be92d9454eb0cb6e8e899c675..86bce315226d5b41663250b592f990999c0c1b62 100644 --- a/make/jpda/jdwp/jdwp.spec +++ b/make/jpda/jdwp/jdwp.spec @@ -519,9 +519,8 @@ JDWP "Java(tm) Debug Wire Protocol" "Both the JNI signature and the generic signature are " "returned for each class. " "Generic signatures are described in the signature attribute " - "section in the " - " - "Java Virtual Machine Specification, 3rd Edition. " + "section in " + "The Java™ Virtual Machine Specification. " "Since JDWP version 1.5." (Out ) @@ -623,8 +622,8 @@ JDWP "Java(tm) Debug Wire Protocol" (referenceType refType "The reference type ID.") ) (Reply - (int modBits "Modifier bits as defined in the " - "VM Specification") + (int modBits "Modifier bits as defined in Chapter 4 of " + "The Java™ Virtual Machine Specification") ) (ErrorSet (Error INVALID_CLASS "refType is not the ID of a reference " @@ -651,8 +650,8 @@ JDWP "Java(tm) Debug Wire Protocol" (int modBits "The modifier bit flags (also known as access flags) " "which provide additional information on the " "field declaration. Individual flag values are " - "defined in the " - "VM Specification." + "defined in Chapter 4 of " + "The Java™ Virtual Machine Specification. " "In addition, The 0xf0000000 bit identifies " "the field as synthetic, if the synthetic attribute " "capability is available.") @@ -686,8 +685,8 @@ JDWP "Java(tm) Debug Wire Protocol" (int modBits "The modifier bit flags (also known as access flags) " "which provide additional information on the " "method declaration. Individual flag values are " - "defined in the " - "VM Specification." + "defined in Chapter 4 of " + "The Java™ Virtual Machine Specification. " "In addition, The 0xf0000000 bit identifies " "the method as synthetic, if the synthetic attribute " "capability is available.") @@ -773,8 +772,8 @@ JDWP "Java(tm) Debug Wire Protocol" (Command Status=9 "Returns the current status of the reference type. The status " "indicates the extent to which the reference type has been " - "initialized, as described in the " - "VM specification. " + "initialized, as described in section 2.1.6 of " + "The Java™ Virtual Machine Specification. " "If the class is linked the PREPARED and VERIFIED bits in the returned status bits " "will be set. If the class is initialized the INITIALIZED bit in the returned " "status bits will be set. If an error occured during initialization then the " @@ -852,9 +851,8 @@ JDWP "Java(tm) Debug Wire Protocol" "Returns the JNI signature of a reference type along with the " "generic signature if there is one. " "Generic signatures are described in the signature attribute " - "section in the " - " - "Java Virtual Machine Specification, 3rd Edition. " + "section in " + "The Java™ Virtual Machine Specification. " "Since JDWP version 1.5." "

(Out @@ -882,9 +880,8 @@ JDWP "Java(tm) Debug Wire Protocol" "by the compiler. " "Fields are returned in the order they occur in the class file. " "Generic signatures are described in the signature attribute " - "section in the " - " - "Java Virtual Machine Specification, 3rd Edition. " + "section in " + "The Java™ Virtual Machine Specification. " "Since JDWP version 1.5." (Out (referenceType refType "The reference type ID.") @@ -900,8 +897,8 @@ JDWP "Java(tm) Debug Wire Protocol" (int modBits "The modifier bit flags (also known as access flags) " "which provide additional information on the " "field declaration. Individual flag values are " - "defined in the " - "VM Specification." + "defined in Chapter 4 of " + "The Java™ Virtual Machine Specification. " "In addition, The 0xf0000000 bit identifies " "the field as synthetic, if the synthetic attribute " "capability is available.") @@ -925,9 +922,8 @@ JDWP "Java(tm) Debug Wire Protocol" "if present, and any synthetic methods created by the compiler. " "Methods are returned in the order they occur in the class file. " "Generic signatures are described in the signature attribute " - "section in the " - " - "Java Virtual Machine Specification, 3rd Edition. " + "section in " + "The Java™ Virtual Machine Specification. " "Since JDWP version 1.5." (Out (referenceType refType "The reference type ID.") @@ -943,8 +939,8 @@ JDWP "Java(tm) Debug Wire Protocol" (int modBits "The modifier bit flags (also known as access flags) " "which provide additional information on the " "method declaration. Individual flag values are " - "defined in the " - "VM Specification." + "defined in Chapter 4 of " + "The Java™ Virtual Machine Specification. " "In addition, The 0xf0000000 bit identifies " "the method as synthetic, if the synthetic attribute " "capability is available.") @@ -1006,8 +1002,8 @@ JDWP "Java(tm) Debug Wire Protocol" ) (Command ConstantPool=18 "Return the raw bytes of the constant pool in the format of the " - "constant_pool item of the Class File Format in the " - "Java Virtual Machine Specification. " + "constant_pool item of the Class File Format in " + "The Java™ Virtual Machine Specification. " "

Since JDWP version 1.6. Requires canGetConstantPool capability - see " "CapabilitiesNew."" (Out @@ -1016,7 +1012,8 @@ JDWP "Java(tm) Debug Wire Protocol" (Reply (int count "Total number of constant pool entries plus one. This " "corresponds to the constant_pool_count item of the " - "Class File Format in the Java Virtual Machine Specification. ") + "Class File Format in " + "The Java™ Virtual Machine Specification. ") (Repeat bytes (byte cpbytes "Raw bytes of constant pool") ) @@ -1324,7 +1321,8 @@ JDWP "Java(tm) Debug Wire Protocol" ) ) (Command Bytecodes=3 - "Retrieve the method's bytecodes as defined in the JVM Specification." + "Retrieve the method's bytecodes as defined in " + "The Java™ Virtual Machine Specification. " "Requires canGetBytecodes capability - see " "CapabilitiesNew." (Out @@ -1379,9 +1377,8 @@ JDWP "Java(tm) Debug Wire Protocol" "instance methods, the \"this\" reference is included in the " "table. Also, synthetic variables may be present. " "Generic signatures are described in the signature attribute " - "section in the " - " - "Java Virtual Machine Specification, 3rd Edition. " + "section in " + "The Java™ Virtual Machine Specification. " "Since JDWP version 1.5." (Out (referenceType refType "The class.") @@ -1970,8 +1967,9 @@ JDWP "Java(tm) Debug Wire Protocol" "

" "The method which will return early is referred to as the " "called method. The called method is the current method (as " - "defined by the Frames section in the Java Virtual Machine " - "Specification) for the specified thread at the time this command " + "defined by the Frames section in " + "The Java™ Virtual Machine Specification) " + "for the specified thread at the time this command " "is received. " "

" "The specified thread must be suspended. " diff --git a/src/share/classes/com/sun/beans/TypeResolver.java b/src/share/classes/com/sun/beans/TypeResolver.java index a24d1af8e44fa3ce48fb632d58d5ac1af9b00a62..bd6a4f04fde4a914e8d1b79412cf9bd537042f16 100644 --- a/src/share/classes/com/sun/beans/TypeResolver.java +++ b/src/share/classes/com/sun/beans/TypeResolver.java @@ -175,8 +175,8 @@ public final class TypeResolver { /** * Converts the given {@code type} to the corresponding class. * This method implements the concept of type erasure, - * that is described in section 4.6 - * of Java Language Specification. + * that is described in section 4.6 of + * The Java™ Language Specification. * * @param type the array of types to convert * @return a corresponding class diff --git a/src/share/classes/com/sun/java/util/jar/pack/package.html b/src/share/classes/com/sun/java/util/jar/pack/package.html index 084e0df7e10cf59c01148470d622300a57e269e3..bf3fa743028d5d2d7bfe86645d7fb898b548afec 100644 --- a/src/share/classes/com/sun/java/util/jar/pack/package.html +++ b/src/share/classes/com/sun/java/util/jar/pack/package.html @@ -88,8 +88,8 @@ Jar File Specification : -http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html +Class File Specification: Chapter 4 of +The Java™ Virtual Machine Specification

  • Hypertext Transfer Protocol -- HTTP/1.1 : diff --git a/src/share/classes/com/sun/jdi/Accessible.java b/src/share/classes/com/sun/jdi/Accessible.java index 85d2b89397c18ca602459c18be2bd6fb3bf955b1..55b3b45a398664ffad49a759e4da939436deae41 100644 --- a/src/share/classes/com/sun/jdi/Accessible.java +++ b/src/share/classes/com/sun/jdi/Accessible.java @@ -42,12 +42,9 @@ public interface Accessible { * Returns the JavaTM * programming language modifiers, encoded in an integer. *

    - * The modifier encodings are defined in the - * Java Virtual Machine - * Specification, in the access_flag tables for - * classes, - * fields, and - * methods. + * The modifier encodings are defined in + * The Java™ Virtual Machine Specification + * in the access_flag tables for classes(section 4.1), fields(section 4.5), and methods(section 4.6). */ public int modifiers(); diff --git a/src/share/classes/com/sun/jdi/ArrayType.java b/src/share/classes/com/sun/jdi/ArrayType.java index 8cf86f46a8ea84d78fbd18a69dfe30da7ea300fb..6e3c3f6f95f2de62d2d0e235f164b004a5713f78 100644 --- a/src/share/classes/com/sun/jdi/ArrayType.java +++ b/src/share/classes/com/sun/jdi/ArrayType.java @@ -77,11 +77,9 @@ public interface ArrayType extends ReferenceType { * as specified in the array declaration. *

    * Note: The component type of a array will always be - * created or loaded before the array - see the - * Java Virtual - * Machine Specification, section - * 5.3.3 - * Creating Array Classes. + * created or loaded before the array - see + * The Java™ Virtual Machine Specification, + * section 5.3.3 - Creating Array Classes. * However, although the component type will be loaded it may * not yet be prepared, in which case the type will be returned * but attempts to perform some operations on the returned type diff --git a/src/share/classes/com/sun/jdi/ClassLoaderReference.java b/src/share/classes/com/sun/jdi/ClassLoaderReference.java index e0cdedd3e63c8676c2b0a5059090dab74d9cf982..cccf7c315f5c8dae088e9e3931b11c8ac7a7423e 100644 --- a/src/share/classes/com/sun/jdi/ClassLoaderReference.java +++ b/src/share/classes/com/sun/jdi/ClassLoaderReference.java @@ -71,11 +71,9 @@ public interface ClassLoaderReference extends ObjectReference { *

    * No ordering of the returned list is guaranteed. *

    - * See the revised - * Java - * Virtual Machine Specification section - * 5.3 - * Creation and Loading + * See + * The Java™ Virtual Machine Specification, + * section 5.3 - Creation and Loading * for more information on the initiating classloader. *

    * Note that unlike {@link #definedClasses()} diff --git a/src/share/classes/com/sun/jdi/ClassNotLoadedException.java b/src/share/classes/com/sun/jdi/ClassNotLoadedException.java index f669a15f1de3a64f7f3a8102e9b1ef429433db26..b139b3f065b799a0085262b072ee8dd79a26ea44 100644 --- a/src/share/classes/com/sun/jdi/ClassNotLoadedException.java +++ b/src/share/classes/com/sun/jdi/ClassNotLoadedException.java @@ -60,9 +60,9 @@ package com.sun.jdi; * is visible to the class loader of enclosing class. (That is, the * class loader of the enclosing class must be an initiating class * loader for the class in question.) - * See the Java - * Virtual Machine Specification for - * more details. + * See + * The Java™ Virtual Machine Specification + * for more details. * * @author Gordon Hirsch * @since 1.3 diff --git a/src/share/classes/com/sun/jdi/ClassType.java b/src/share/classes/com/sun/jdi/ClassType.java index b5bc6532081d45d60b940f0a40b733cdb7c4381d..430832776b9df5e310884d108c732667f2c05f57 100644 --- a/src/share/classes/com/sun/jdi/ClassType.java +++ b/src/share/classes/com/sun/jdi/ClassType.java @@ -164,10 +164,8 @@ public interface ClassType extends ReferenceType { * component type is passed. The component type can be a primitive type. * Autoboxing is not supported. * - * See the - * Java Language Specification. - * section - * 5.2 + * See Section 5.2 of + * The Java™ Language Specification * for more information on assignment compatibility. *

    * By default, all threads in the target VM are resumed while @@ -280,10 +278,8 @@ public interface ClassType extends ReferenceType { * component type is passed. The component type can be a primitive type. * Autoboxing is not supported. * - * See the - * Java Language Specification. - * section - * 5.2 + * See section 5.2 of + * The Java™ Language Specification * for more information on assignment compatibility. *

    * By default, all threads in the target VM are resumed while diff --git a/src/share/classes/com/sun/jdi/LocalVariable.java b/src/share/classes/com/sun/jdi/LocalVariable.java index 23f0adbc0809e2728914bbdbab0c375bacc5e85a..fd0b9e4537b55c7c61e637f762be36e10b17e1cb 100644 --- a/src/share/classes/com/sun/jdi/LocalVariable.java +++ b/src/share/classes/com/sun/jdi/LocalVariable.java @@ -102,9 +102,7 @@ public interface LocalVariable extends Mirror, Comparable { /** * Gets the generic signature for this variable if there is one. * Generic signatures are described in the - * - * "JavaTM - * Virtual Machine Specification, 3rd Edition. + * The Java™ Virtual Machine Specification. * * @return a string containing the generic signature, or null * if there is no generic signature. diff --git a/src/share/classes/com/sun/jdi/Method.java b/src/share/classes/com/sun/jdi/Method.java index a34ad479b445d2d4bdedc399075658342182e150..ea1044f61971916baf1d567fd4e43e752029f0d3 100644 --- a/src/share/classes/com/sun/jdi/Method.java +++ b/src/share/classes/com/sun/jdi/Method.java @@ -164,10 +164,8 @@ public interface Method extends TypeComponent, Locatable, Comparable { /** * Determine if this method is a bridge method. Bridge - * methods are defined in the - * - * "JavaTM - * Language Specification, 3rd Edition. + * methods are defined in + * The Java™ Language Specification. * * @return true if the method is a bridge method, * false otherwise. diff --git a/src/share/classes/com/sun/jdi/ObjectReference.java b/src/share/classes/com/sun/jdi/ObjectReference.java index 557fc92e1bca044037107e2ce720c72a17a4bfd9..a184f25a13233ae3dd7b29e38ebd371294c9a8dd 100644 --- a/src/share/classes/com/sun/jdi/ObjectReference.java +++ b/src/share/classes/com/sun/jdi/ObjectReference.java @@ -118,10 +118,8 @@ public interface ObjectReference extends Value * enclosing class's class loader). Primitive values must be * either assignment compatible with the field type or must be * convertible to the field type without loss of information. - * See the - * JavaTM Language Specification. - * section - * 5.2 + * See section 5.2 of + * The Java™ Language Specification * for more information on assignment * compatibility. * @@ -182,18 +180,13 @@ public interface ObjectReference extends Value * component type is passed. The component type can be a primitive type. * Autoboxing is not supported. * - * See the - * Java Language Specification. - * section - * 5.2 + * See section 5.2 of + * The Java™ Language Specification * for more information on assignment compatibility. *

    * By default, the method is invoked using dynamic lookup as - * documented in the - * - * Java Language Specification - * second edition, section - * 15.12.4.4; + * documented in section 15.12.4.4 of + * The Java™ Language Specification * in particular, overriding based on the runtime type of the object * mirrored by this {@link ObjectReference} will occur. This * behavior can be changed by specifying the diff --git a/src/share/classes/com/sun/jdi/ReferenceType.java b/src/share/classes/com/sun/jdi/ReferenceType.java index 4baae6bb72e64f48630dd2915bb8b829d70a1a30..65accef7861597b3392f0628a23c43626e86db66 100644 --- a/src/share/classes/com/sun/jdi/ReferenceType.java +++ b/src/share/classes/com/sun/jdi/ReferenceType.java @@ -30,9 +30,8 @@ import java.util.Map; /** * The type of an object in a target VM. ReferenceType encompasses - * classes, interfaces, and array types as defined in the - * - * JavaTM Language Specification. + * classes, interfaces, and array types as defined in + * The Java™ Language Specification. * All ReferenceType objects belong to one of the following * subinterfaces: * {@link ClassType} for classes, @@ -98,9 +97,7 @@ public interface ReferenceType /** * Gets the generic signature for this type if there is one. * Generic signatures are described in the - * - * "JavaTM - * Virtual Machine Specification, 3rd Edition. + * The Java™ Virtual Machine Specification. * * @return a string containing the generic signature, or null * if there is no generic signature. diff --git a/src/share/classes/com/sun/jdi/TypeComponent.java b/src/share/classes/com/sun/jdi/TypeComponent.java index b1e02f5df8d28f05c731ef5467bceec90322bc77..6c6e28307356783ff5cf0eba3919413f19f0fd0a 100644 --- a/src/share/classes/com/sun/jdi/TypeComponent.java +++ b/src/share/classes/com/sun/jdi/TypeComponent.java @@ -74,9 +74,7 @@ public interface TypeComponent extends Mirror, Accessible { /** * Gets the generic signature for this TypeComponent if there is one. * Generic signatures are described in the - * - * "JavaTM - * Virtual Machine Specification, 3rd Edition. + * The Java™ Virtual Machine Specification. * * @return a string containing the generic signature, or null * if there is no generic signature. diff --git a/src/share/classes/java/awt/doc-files/AWTThreadIssues.html b/src/share/classes/java/awt/doc-files/AWTThreadIssues.html index 33f64137dcdde7251ff2d8c6d36cb1ea6ce1b247..55099f44aa46c40df66924cade4d2e6db787d5fa 100644 --- a/src/share/classes/java/awt/doc-files/AWTThreadIssues.html +++ b/src/share/classes/java/awt/doc-files/AWTThreadIssues.html @@ -40,10 +40,9 @@ newly added listener is only notified on subsequent key events.

    Auto-shutdown

    -According to The -JavaTM Virtual Machine Specification, -Second edition (see §2.17.9 -and §2.19), +According to +The Java™ Virtual Machine Specification, +sections 2.17.9 and 2.19, the Java virtual machine (JVM) initially starts up with a single non-daemon thread, which typically calls the main method of some class. The virtual machine terminates all its activity and exits when @@ -183,7 +182,8 @@ non-daemon thread that blocks forever. <...> -The Java Virtual Machine Specification guarantees +The Java™ Virtual Machine Specification + guarantees that the JVM doesn't exit until this thread terminates. diff --git a/src/share/classes/java/io/Console.java b/src/share/classes/java/io/Console.java index 9bfbaf00497cd129e420bb9f933e6635ff4e4a3e..50a9718019bd0622617afebe1de32c56b4e28bbc 100644 --- a/src/share/classes/java/io/Console.java +++ b/src/share/classes/java/io/Console.java @@ -148,8 +148,8 @@ public final class Console implements Flushable * extra arguments are ignored. The number of arguments is * variable and may be zero. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. The behaviour on a + * The Java™ Virtual Machine Specification. + * The behaviour on a * null argument depends on the conversion. * @@ -187,8 +187,8 @@ public final class Console implements Flushable * extra arguments are ignored. The number of arguments is * variable and may be zero. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. The behaviour on a + * The Java™ Virtual Machine Specification. + * The behaviour on a * null argument depends on the conversion. * @@ -220,8 +220,7 @@ public final class Console implements Flushable * string. If there are more arguments than format specifiers, the * extra arguments are ignored. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. + * The Java™ Virtual Machine Specification. * * @throws IllegalFormatException * If a format string contains an illegal syntax, a format @@ -285,8 +284,7 @@ public final class Console implements Flushable * string. If there are more arguments than format specifiers, the * extra arguments are ignored. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. + * The Java™ Virtual Machine Specification. * * @throws IllegalFormatException * If a format string contains an illegal syntax, a format diff --git a/src/share/classes/java/io/PrintStream.java b/src/share/classes/java/io/PrintStream.java index f29b5407abf18a2773a48fe345165bd43d8b94da..c4cd01f470f97e8baca462f1ac2df577e51e4c45 100644 --- a/src/share/classes/java/io/PrintStream.java +++ b/src/share/classes/java/io/PrintStream.java @@ -846,8 +846,8 @@ public class PrintStream extends FilterOutputStream * extra arguments are ignored. The number of arguments is * variable and may be zero. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. The behaviour on a + * The Java™ Virtual Machine Specification. + * The behaviour on a * null argument depends on the conversion. * @@ -896,8 +896,8 @@ public class PrintStream extends FilterOutputStream * extra arguments are ignored. The number of arguments is * variable and may be zero. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. The behaviour on a + * The Java™ Virtual Machine Specification. + * The behaviour on a * null argument depends on the conversion. * @@ -939,8 +939,8 @@ public class PrintStream extends FilterOutputStream * extra arguments are ignored. The number of arguments is * variable and may be zero. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. The behaviour on a + * The Java™ Virtual Machine Specification. + * The behaviour on a * null argument depends on the conversion. * @@ -996,8 +996,8 @@ public class PrintStream extends FilterOutputStream * extra arguments are ignored. The number of arguments is * variable and may be zero. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. The behaviour on a + * The Java™ Virtual Machine Specification. + * The behaviour on a * null argument depends on the conversion. * diff --git a/src/share/classes/java/io/PrintWriter.java b/src/share/classes/java/io/PrintWriter.java index 0e9ea8f5688bd1febcd636eb4e1323dfa43f5e85..102c3a29abc912a3d6eff520960f21e422c59903 100644 --- a/src/share/classes/java/io/PrintWriter.java +++ b/src/share/classes/java/io/PrintWriter.java @@ -779,8 +779,8 @@ public class PrintWriter extends Writer { * extra arguments are ignored. The number of arguments is * variable and may be zero. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. The behaviour on a + * The Java™ Virtual Machine Specification. + * The behaviour on a * null argument depends on the conversion. * @@ -830,8 +830,8 @@ public class PrintWriter extends Writer { * extra arguments are ignored. The number of arguments is * variable and may be zero. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. The behaviour on a + * The Java™ Virtual Machine Specification. + * The behaviour on a * null argument depends on the conversion. * @@ -874,8 +874,8 @@ public class PrintWriter extends Writer { * extra arguments are ignored. The number of arguments is * variable and may be zero. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. The behaviour on a + * The Java™ Virtual Machine Specification. + * The behaviour on a * null argument depends on the conversion. * @@ -934,8 +934,8 @@ public class PrintWriter extends Writer { * extra arguments are ignored. The number of arguments is * variable and may be zero. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. The behaviour on a + * The Java™ Virtual Machine Specification. + * The behaviour on a * null argument depends on the conversion. * diff --git a/src/share/classes/java/lang/AssertionError.java b/src/share/classes/java/lang/AssertionError.java index b3784f125a7bd5fde288e5704da15e55213a9f21..984c3e4f00bdf39faf5c6df99571851e2b30757f 100644 --- a/src/share/classes/java/lang/AssertionError.java +++ b/src/share/classes/java/lang/AssertionError.java @@ -34,11 +34,9 @@ package java.lang; * new AssertionError(expression) * * has as its detail message the string conversion of - * expression (as defined in - * The Java Language Specification, Second Edition, - * - * Section 15.18.1.1), regardless of the type of expression. + * expression (as defined in section 15.18.1.1 of + * The Java™ Language Specification), + * regardless of the type of expression. * * @since 1.4 */ @@ -63,8 +61,8 @@ 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 The Java Language Specification, Second - * Edition, Section 15.18.1.1. + * defined in section 15.18.1.1 of + * The Java™ Language Specification. *

    * If the specified object is an instance of {@code Throwable}, it * becomes the cause of the newly constructed assertion error. @@ -81,8 +79,8 @@ public class AssertionError extends Error { /** * Constructs an AssertionError with its detail message derived * from the specified boolean, which is converted to - * a string as defined in The Java Language Specification, - * Second Edition, Section 15.18.1.1. + * a string as defined in section 15.18.1.1 of + * The Java™ Language Specification. * * @param detailMessage value to be used in constructing detail message */ @@ -93,8 +91,8 @@ public class AssertionError extends Error { /** * Constructs an AssertionError with its detail message derived * from the specified char, which is converted to a - * string as defined in The Java Language Specification, Second - * Edition, Section 15.18.1.1. + * string as defined in section 15.18.1.1 of + * The Java™ Language Specification. * * @param detailMessage value to be used in constructing detail message */ @@ -105,8 +103,8 @@ public class AssertionError extends Error { /** * Constructs an AssertionError with its detail message derived * from the specified int, which is converted to a - * string as defined in The Java Language Specification, Second - * Edition, Section 15.18.1.1. + * string as defined in section 15.18.1.1 of + * The Java™ Language Specification. * * @param detailMessage value to be used in constructing detail message */ @@ -117,8 +115,8 @@ public class AssertionError extends Error { /** * Constructs an AssertionError with its detail message derived * from the specified long, which is converted to a - * string as defined in The Java Language Specification, Second - * Edition, Section 15.18.1.1. + * string as defined in section 15.18.1.1 of + * The Java™ Language Specification. * * @param detailMessage value to be used in constructing detail message */ @@ -129,8 +127,8 @@ public class AssertionError extends Error { /** * Constructs an AssertionError with its detail message derived * from the specified float, which is converted to a - * string as defined in The Java Language Specification, Second - * Edition, Section 15.18.1.1. + * string as defined in section 15.18.1.1 of + * The Java™ Language Specification. * * @param detailMessage value to be used in constructing detail message */ @@ -141,8 +139,8 @@ public class AssertionError extends Error { /** * Constructs an AssertionError with its detail message derived * from the specified double, which is converted to a - * string as defined in The Java Language Specification, Second - * Edition, Section 15.18.1.1. + * string as defined in section 15.18.1.1 of + * The Java™ Language Specification. * * @param detailMessage value to be used in constructing detail message */ diff --git a/src/share/classes/java/lang/Byte.java b/src/share/classes/java/lang/Byte.java index e6d2543586e580b0dcc4755747e140c58a52d14e..2ab00f8f97deafccf9070685e78807744f58c866 100644 --- a/src/share/classes/java/lang/Byte.java +++ b/src/share/classes/java/lang/Byte.java @@ -251,9 +251,9 @@ public final class Byte extends Number implements Comparable { * * * DecimalNumeral, HexDigits, and OctalDigits - * are defined in §3.10.1 - * of the Java - * Language Specification. + * are as defined in section 3.10.1 of + * The Java™ Language Specification, + * except that underscores are not accepted between digits. * *

    The sequence of characters following an optional * sign and/or radix specifier ("{@code 0x}", "{@code 0X}", diff --git a/src/share/classes/java/lang/Class.java b/src/share/classes/java/lang/Class.java index db76523ced316463427c624251994ee0cf666c31..b22c3b673005572b9ec00c6da2dc7595af40edd1 100644 --- a/src/share/classes/java/lang/Class.java +++ b/src/share/classes/java/lang/Class.java @@ -95,8 +95,8 @@ import sun.reflect.annotation.*; * * *

    It is also possible to get the {@code Class} object for a named - * type (or for void) using a class literal - * (JLS Section 15.8.2). + * type (or for void) using a class literal. See Section 15.8.2 of + * The Java™ Language Specification. * For example: * *

    @@ -521,7 +521,8 @@ public final * *

    If this class object represents a reference type that is not an * array type then the binary name of the class is returned, as specified - * by the Java Language Specification, Second Edition. + * by + * The Java™ Language Specification. * *

    If this class object represents a primitive type or void, then the * name returned is a {@code String} equal to the Java language @@ -630,8 +631,8 @@ public final * the type variables declared by this generic declaration * @throws java.lang.reflect.GenericSignatureFormatError if the generic * signature of this generic declaration does not conform to - * the format specified in the Java Virtual Machine Specification, - * 3rd edition + * the format specified in + * The Java™ Virtual Machine Specification * @since 1.5 */ public TypeVariable>[] getTypeParameters() { @@ -675,8 +676,8 @@ public final * returned. * * @throws java.lang.reflect.GenericSignatureFormatError if the generic - * class signature does not conform to the format specified in the - * Java Virtual Machine Specification, 3rd edition + * class signature does not conform to the format specified in + * The Java™ Virtual Machine Specification * @throws TypeNotPresentException if the generic superclass * refers to a non-existent type declaration * @throws java.lang.reflect.MalformedParameterizedTypeException if the @@ -798,7 +799,8 @@ public final * * @throws java.lang.reflect.GenericSignatureFormatError * if the generic class signature does not conform to the format - * specified in the Java Virtual Machine Specification, 3rd edition + * specified in + * The Java™ Virtual Machine Specification * @throws TypeNotPresentException if any of the generic * superinterfaces refers to a non-existent type declaration * @throws java.lang.reflect.MalformedParameterizedTypeException diff --git a/src/share/classes/java/lang/ClassLoader.java b/src/share/classes/java/lang/ClassLoader.java index 2c0c7908566bec71cf7af9c63bf3ca1adbeaeaf8..f8588f527a2c23e9066a6a4d0c615d0614555e20 100644 --- a/src/share/classes/java/lang/ClassLoader.java +++ b/src/share/classes/java/lang/ClassLoader.java @@ -160,8 +160,8 @@ import sun.security.util.SecurityConstants; *

    Binary names

    * *

    Any class name provided as a {@link String} parameter to methods in - * ClassLoader must be a binary name as defined by the Java Language Specification. + * ClassLoader must be a binary name as defined by + * The Java™ Language Specification. * *

    Examples of valid class names include: *

    @@ -531,9 +531,8 @@ public abstract class ClassLoader {
          * @param  b
          *         The bytes that make up the class data.  The bytes in positions
          *         off through off+len-1 should have the format
    -     *         of a valid class file as defined by the Java Virtual
    -     *         Machine Specification.
    +     *         of a valid class file as defined by
    +     *         The Java™ Virtual Machine Specification.
          *
          * @param  off
          *         The start offset in b of the class data
    @@ -597,9 +596,8 @@ public abstract class ClassLoader {
          * @param  b
          *         The bytes that make up the class data.  The bytes in positions
          *         off through off+len-1 should have the format
    -     *         of a valid class file as defined by the Java Virtual
    -     *         Machine Specification.
    +     *         of a valid class file as defined by
    +     *         The Java™ Virtual Machine Specification.
          *
          * @param  off
          *         The start offset in b of the class data
    @@ -748,9 +746,8 @@ public abstract class ClassLoader {
          * @param  b
          *         The bytes that make up the class data. The bytes in positions
          *         off through off+len-1 should have the format
    -     *         of a valid class file as defined by the Java Virtual
    -     *         Machine Specification.
    +     *         of a valid class file as defined by
    +     *         The Java™ Virtual Machine Specification.
          *
          * @param  off
          *         The start offset in b of the class data
    @@ -838,8 +835,7 @@ public abstract class ClassLoader {
          *         The bytes that make up the class data. The bytes from positions
          *         b.position() through b.position() + b.limit() -1
          *          should have the format of a valid class file as defined by
    -     *         the Java Virtual
    -     *         Machine Specification.
    +     *         The Java™ Virtual Machine Specification.
          *
          * @param  protectionDomain
          *         The ProtectionDomain of the class, or null.
    @@ -998,9 +994,8 @@ public abstract class ClassLoader {
          * Links the specified class.  This (misleadingly named) method may be
          * used by a class loader to link a class.  If the class c has
          * already been linked, then this method simply returns. Otherwise, the
    -     * class is linked as described in the "Execution" chapter of the Java Language
    -     * Specification.
    +     * class is linked as described in the "Execution" chapter of
    +     * The Java™ Language Specification.
          * 

    * * @param c @@ -2034,8 +2029,8 @@ public abstract class ClassLoader { * The name of the package whose package default assertion status * is to be set. A null value indicates the unnamed * package that is "current" - * (Java Language - * Specification, section 7.4.2). + * (see section 7.4.2 of + * The Java™ Language Specification.) * * @param enabled * true if classes loaded by this classloader and diff --git a/src/share/classes/java/lang/Double.java b/src/share/classes/java/lang/Double.java index 2957f0b541db044ad3a7852548667fbc8dde3595..1f6c9d4ca3b3479f7b4473e75e1af1eb36089cc3 100644 --- a/src/share/classes/java/lang/Double.java +++ b/src/share/classes/java/lang/Double.java @@ -392,9 +392,10 @@ public final class Double extends Number implements Comparable { * where Sign, FloatingPointLiteral, * HexNumeral, HexDigits, SignedInteger and * FloatTypeSuffix are as defined in the lexical structure - * sections of the Java Language - * Specification. If {@code s} does not have the form of + * sections of + * The Java™ Language Specification, + * except that underscores are not accepted between digits. + * If {@code s} does not have the form of * a FloatValue, then a {@code NumberFormatException} * is thrown. Otherwise, {@code s} is regarded as * representing an exact decimal value in the usual @@ -464,8 +465,8 @@ public final class Double extends Number implements Comparable { * // Since this method allows integer-only strings as input * // in addition to strings of floating-point literals, the * // two sub-patterns below are simplifications of the grammar - * // productions from the Java Language Specification, 2nd - * // edition, section 3.10.2. + * // productions from section 3.10.2 of + * // The Java™ Language Specification. * * // Digits ._opt Digits_opt ExponentPart_opt FloatTypeSuffix_opt * "((("+Digits+"(\\.)?("+Digits+"?)("+Exp+")?)|"+ diff --git a/src/share/classes/java/lang/Enum.java b/src/share/classes/java/lang/Enum.java index caf82dbd32b43a671e8d56eb997fb26e32bec0fd..798ae3fa6f640f43c03db3dce01712626865500e 100644 --- a/src/share/classes/java/lang/Enum.java +++ b/src/share/classes/java/lang/Enum.java @@ -36,9 +36,8 @@ import java.io.ObjectStreamException; * * More information about enums, including descriptions of the * implicitly declared methods synthesized by the compiler, can be - * found in The Java™ Language Specification, Third - * Edition, §8.9. + * found in section 8.9 of + * The Java™ Language Specification. * *

    Note that when using an enumeration type as the type of a set * or as the type of the keys in a map, specialized and efficient diff --git a/src/share/classes/java/lang/Error.java b/src/share/classes/java/lang/Error.java index e9dd5463e8dbe7eebbcf354dd1c085e4b4b9a4ac..1c5c50797f497d0e0dd2fc48833bdbeb78be56bb 100644 --- a/src/share/classes/java/lang/Error.java +++ b/src/share/classes/java/lang/Error.java @@ -43,7 +43,7 @@ package java.lang; * * @author Frank Yellin * @see java.lang.ThreadDeath - * @jls3 11.2 Compile-Time Checking of Exceptions + * @jls 11.2 Compile-Time Checking of Exceptions * @since JDK1.0 */ public class Error extends Throwable { diff --git a/src/share/classes/java/lang/Exception.java b/src/share/classes/java/lang/Exception.java index 77a563d642ebec6386bad03a1701f15c4743ca36..944aa052369c03c3244a1a8b1446df3a11407939 100644 --- a/src/share/classes/java/lang/Exception.java +++ b/src/share/classes/java/lang/Exception.java @@ -39,7 +39,7 @@ package java.lang; * * @author Frank Yellin * @see java.lang.Error - * @jls3 11.2 Compile-Time Checking of Exceptions + * @jls 11.2 Compile-Time Checking of Exceptions * @since JDK1.0 */ public class Exception extends Throwable { diff --git a/src/share/classes/java/lang/Float.java b/src/share/classes/java/lang/Float.java index f725def1d0affcb8ac31fa0f5da224648d4814e6..612888f32098733b9343253b0325cc3794e55e97 100644 --- a/src/share/classes/java/lang/Float.java +++ b/src/share/classes/java/lang/Float.java @@ -353,9 +353,10 @@ public final class Float extends Number implements Comparable { * where Sign, FloatingPointLiteral, * HexNumeral, HexDigits, SignedInteger and * FloatTypeSuffix are as defined in the lexical structure - * sections of the Java Language - * Specification. If {@code s} does not have the form of + * sections of + * The Java™ Language Specification, + * except that underscores are not accepted between digits. + * If {@code s} does not have the form of * a FloatValue, then a {@code NumberFormatException} * is thrown. Otherwise, {@code s} is regarded as * representing an exact decimal value in the usual diff --git a/src/share/classes/java/lang/Integer.java b/src/share/classes/java/lang/Integer.java index af7f1da45537e9d02c2e4e87b28c433e312fb477..a87e4b1ab5d68f57aaf6f66bbf36b6275ea93f09 100644 --- a/src/share/classes/java/lang/Integer.java +++ b/src/share/classes/java/lang/Integer.java @@ -918,9 +918,9 @@ public final class Integer extends Number implements Comparable { *

    * * DecimalNumeral, HexDigits, and OctalDigits - * are defined in §3.10.1 - * of the Java - * Language Specification. + * are as defined in section 3.10.1 of + * The Java™ Language Specification, + * except that underscores are not accepted between digits. * *

    The sequence of characters following an optional * sign and/or radix specifier ("{@code 0x}", "{@code 0X}", diff --git a/src/share/classes/java/lang/Long.java b/src/share/classes/java/lang/Long.java index d5b80e61881e1e0f96dee09c22c0a101ea78142c..bee7da3611ead3a93b92c1d04e84992c3bfcdc79 100644 --- a/src/share/classes/java/lang/Long.java +++ b/src/share/classes/java/lang/Long.java @@ -598,9 +598,9 @@ public final class Long extends Number implements Comparable { *

    * * DecimalNumeral, HexDigits, and OctalDigits - * are defined in §3.10.1 - * of the Java - * Language Specification. + * are as defined in section 3.10.1 of + * The Java™ Language Specification, + * except that underscores are not accepted between digits. * *

    The sequence of characters following an optional * sign and/or radix specifier ("{@code 0x}", "{@code 0X}", diff --git a/src/share/classes/java/lang/Object.java b/src/share/classes/java/lang/Object.java index ada472a1a4371370e86f861cddf8637cad4047c0..d47b0a02311fb4a882892db46520e4d89ce9be82 100644 --- a/src/share/classes/java/lang/Object.java +++ b/src/share/classes/java/lang/Object.java @@ -58,9 +58,8 @@ public class Object { * * @return The {@code Class} object that represents the runtime * class of this object. - * @see The Java - * Language Specification, Third Edition (15.8.2 Class - * Literals) + * @see Class Literals, section 15.8.2 of + * The Java™ Language Specification. */ public final native Class getClass(); diff --git a/src/share/classes/java/lang/Override.java b/src/share/classes/java/lang/Override.java index 2ef2850ff2ffec0a0dc65d6032cc224a750981f4..f708105dc36484e5694d59ff4f3ec4f02b661270 100644 --- a/src/share/classes/java/lang/Override.java +++ b/src/share/classes/java/lang/Override.java @@ -43,7 +43,7 @@ import java.lang.annotation.*; * * @author Peter von der Ahé * @author Joshua Bloch - * @jls3 9.6.1.4 Override + * @jls 9.6.1.4 Override * @since 1.5 */ @Target(ElementType.METHOD) diff --git a/src/share/classes/java/lang/Package.java b/src/share/classes/java/lang/Package.java index 75bb658af44e236b7429daf3308a50fa298337c9..69828e9d5372655cac9ab18321b9a5e1ab9cdf2a 100644 --- a/src/share/classes/java/lang/Package.java +++ b/src/share/classes/java/lang/Package.java @@ -109,10 +109,9 @@ public class Package implements java.lang.reflect.AnnotatedElement { /** * Return the name of this package. * - * @return The fully-qualified name of this package as defined in the - * Java Language Specification, Third Edition - * - * §6.5.3, for example, {@code java.lang} + * @return The fully-qualified name of this package as defined in section 6.5.3 of + * The Java™ Language Specification, + * for example, {@code java.lang} */ public String getName() { return pkgName; diff --git a/src/share/classes/java/lang/RuntimeException.java b/src/share/classes/java/lang/RuntimeException.java index add5900d49346457a89373a7bdb195f68026017e..85c0729dc9f902f6cb1627bcdd7fdc60b5abdb9a 100644 --- a/src/share/classes/java/lang/RuntimeException.java +++ b/src/share/classes/java/lang/RuntimeException.java @@ -37,7 +37,7 @@ package java.lang; * propagate outside the method or constructor boundary. * * @author Frank Yellin - * @jls3 11.2 Compile-Time Checking of Exceptions + * @jls 11.2 Compile-Time Checking of Exceptions * @since JDK1.0 */ public class RuntimeException extends Exception { diff --git a/src/share/classes/java/lang/SafeVarargs.java b/src/share/classes/java/lang/SafeVarargs.java index 1477b50c985c8adceeed2e51efb80ec128a9a0ec..b0c03a9162b18510adfb2d537f584dafc2c2f768 100644 --- a/src/share/classes/java/lang/SafeVarargs.java +++ b/src/share/classes/java/lang/SafeVarargs.java @@ -70,8 +70,8 @@ import java.lang.annotation.*; * * * - * @jls3 4.7 Reifiable Types - * @jls3 8.4.1 Formal Parameters + * @jls 4.7 Reifiable Types + * @jls 8.4.1 Formal Parameters */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/src/share/classes/java/lang/Short.java b/src/share/classes/java/lang/Short.java index 080a5f95ee33ce785d0304e6f6fa20956f675ef3..5ff010da00e4eea17cc0c40498636cbd52f73154 100644 --- a/src/share/classes/java/lang/Short.java +++ b/src/share/classes/java/lang/Short.java @@ -256,9 +256,9 @@ public final class Short extends Number implements Comparable { * * * DecimalNumeral, HexDigits, and OctalDigits - * are defined in §3.10.1 - * of the Java - * Language Specification. + * are as defined in section 3.10.1 of + * The Java™ Language Specification, + * except that underscores are not accepted between digits. * *

    The sequence of characters following an optional * sign and/or radix specifier ("{@code 0x}", "{@code 0X}", diff --git a/src/share/classes/java/lang/String.java b/src/share/classes/java/lang/String.java index 7cadf9e3137b8349b8ccd8ddc03f6e46265eb6ad..1a40916a20a81d9c6b9d0443c78b04b327d8a678 100644 --- a/src/share/classes/java/lang/String.java +++ b/src/share/classes/java/lang/String.java @@ -2819,8 +2819,8 @@ public final class String * extra arguments are ignored. The number of arguments is * variable and may be zero. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. The behaviour on a + * The Java™ Virtual Machine Specification. + * The behaviour on a * null argument depends on the conversion. * @@ -2863,8 +2863,8 @@ public final class String * extra arguments are ignored. The number of arguments is * variable and may be zero. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. The behaviour on a + * The Java™ Virtual Machine Specification. + * The behaviour on a * null argument depends on the conversion. * @@ -3066,9 +3066,8 @@ public final class String * if and only if s.equals(t) is true. *

    * All literal strings and string-valued constant expressions are - * interned. String literals are defined in §3.10.5 of the - * Java Language - * Specification + * interned. String literals are defined in section 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. diff --git a/src/share/classes/java/lang/Throwable.java b/src/share/classes/java/lang/Throwable.java index 2784238efa48f874c482f2b19f3704db0be69454..8468ecf0d300d3e27d9f7b8b3152ed4a8e4ad3d4 100644 --- a/src/share/classes/java/lang/Throwable.java +++ b/src/share/classes/java/lang/Throwable.java @@ -108,7 +108,7 @@ import java.util.*; * @author unascribed * @author Josh Bloch (Added exception chaining and programmatic access to * stack trace in 1.4.) - * @jls3 11.2 Compile-Time Checking of Exceptions + * @jls 11.2 Compile-Time Checking of Exceptions * @since JDK1.0 */ public class Throwable implements Serializable { diff --git a/src/share/classes/java/lang/annotation/Annotation.java b/src/share/classes/java/lang/annotation/Annotation.java index 0cfd78dd69dcb993cc7a7035049348f31f3a680b..d7b8ddd76f7cd46085d25ff8460a39f838e9b7f1 100644 --- a/src/share/classes/java/lang/annotation/Annotation.java +++ b/src/share/classes/java/lang/annotation/Annotation.java @@ -31,9 +31,8 @@ package java.lang.annotation; * an annotation type. Also note that this interface does not itself * define an annotation type. * - * More information about annotation types can be found in The - * Java™ Language Specification, Third Edition, §9.6. + * More information about annotation types can be found in section 9.6 of + * The Java™ Language Specification. * * @author Josh Bloch * @since 1.5 diff --git a/src/share/classes/java/lang/instrument/ClassFileTransformer.java b/src/share/classes/java/lang/instrument/ClassFileTransformer.java index ca0ab77e0dbd2f4d1fcb66c50125cf721624e418..6bc16ecf91377dc6ffcf80ffe67fb518e17f0ae9 100644 --- a/src/share/classes/java/lang/instrument/ClassFileTransformer.java +++ b/src/share/classes/java/lang/instrument/ClassFileTransformer.java @@ -36,9 +36,9 @@ import java.security.ProtectionDomain; * to transform class files. * The transformation occurs before the class is defined by the JVM. *

    - * Note the term class file is used as defined in the chapter - * The class File Format - * of The Java Virtual Machine Specification, to mean a sequence + * Note the term class file is used as defined in section 3.1 of + * The Java™ Virtual Machine Specification, + * to mean a sequence * of bytes in class file format, whether or not they reside in a file. * * @see java.lang.instrument.Instrumentation diff --git a/src/share/classes/java/lang/instrument/Instrumentation.java b/src/share/classes/java/lang/instrument/Instrumentation.java index e8ef27a9658dbc97494e6d980fd8ef6c58b27417..510b4bde63c8b35c18c3840a32dffaa658c7ebd7 100644 --- a/src/share/classes/java/lang/instrument/Instrumentation.java +++ b/src/share/classes/java/lang/instrument/Instrumentation.java @@ -434,8 +434,9 @@ public interface Instrumentation { * avoiding these types of issues, is to use a unique package name for the * instrumentation classes. * - *

    The Java Virtual Machine - * Specification specifies that a subsequent attempt to resolve a symbolic + *

    + * The Java™ Virtual Machine Specification + * specifies that a subsequent attempt to resolve a symbolic * reference that the Java virtual machine has previously unsuccessfully attempted * to resolve always fails with the same error that was thrown as a result of the * initial resolution attempt. Consequently, if the JAR file contains an entry @@ -487,8 +488,9 @@ public interface Instrumentation { * getName()} method on the jarfile and this is provided as the * parameter to the appendToClassPathForInstrumentation method. * - *

    The Java Virtual Machine - * Specification specifies that a subsequent attempt to resolve a symbolic + *

    + * The Java™ Virtual Machine Specification + * specifies that a subsequent attempt to resolve a symbolic * reference that the Java virtual machine has previously unsuccessfully attempted * to resolve always fails with the same error that was thrown as a result of the * initial resolution attempt. Consequently, if the JAR file contains an entry diff --git a/src/share/classes/java/lang/invoke/package-info.java b/src/share/classes/java/lang/invoke/package-info.java index 0eac856d218fe797e77a29b105544deb8a760ac6..b6a1992dca874c6f6ad1bb25eb4ddc25a43e253d 100644 --- a/src/share/classes/java/lang/invoke/package-info.java +++ b/src/share/classes/java/lang/invoke/package-info.java @@ -194,8 +194,8 @@ * Method handle constants for subtags {@code REF_getStatic}, {@code REF_putStatic}, and {@code REF_invokeStatic} * may force class initialization on their first invocation, just like the corresponding bytecodes. *

    - * The rules of section 5.4.3 of the - * JVM Specification + * The rules of section 5.4.3 of + * The Java™ Virtual Machine Specification * apply to the resolution of {@code CONSTANT_MethodType}, {@code CONSTANT_MethodHandle}, * and {@code CONSTANT_InvokeDynamic} constants, * by the execution of {@code invokedynamic} and {@code ldc} instructions. diff --git a/src/share/classes/java/lang/reflect/Constructor.java b/src/share/classes/java/lang/reflect/Constructor.java index 2451c54e82d65c63fdbb9896ace7dece24934e5e..8ff6d410b9918b916039222d7852db29ea637c3f 100644 --- a/src/share/classes/java/lang/reflect/Constructor.java +++ b/src/share/classes/java/lang/reflect/Constructor.java @@ -186,8 +186,8 @@ public final * the type variables declared by this generic declaration * @throws GenericSignatureFormatError if the generic * signature of this generic declaration does not conform to - * the format specified in the Java Virtual Machine Specification, - * 3rd edition + * the format specified in + * The Java™ Virtual Machine Specification * @since 1.5 */ public TypeVariable>[] getTypeParameters() { @@ -229,7 +229,8 @@ public final * parameter types of the underlying method, in declaration order * @throws GenericSignatureFormatError * if the generic method signature does not conform to the format - * specified in the Java Virtual Machine Specification, 3rd edition + * specified in + * The Java™ Virtual Machine Specification * @throws TypeNotPresentException if any of the parameter * types of the underlying method refers to a non-existent type * declaration @@ -273,7 +274,8 @@ public final * thrown by the underlying method * @throws GenericSignatureFormatError * if the generic method signature does not conform to the format - * specified in the Java Virtual Machine Specification, 3rd edition + * specified in + * The Java™ Virtual Machine Specification * @throws TypeNotPresentException if the underlying method's * {@code throws} clause refers to a non-existent type declaration * @throws MalformedParameterizedTypeException if @@ -468,8 +470,8 @@ public final * *

    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 The Java Language - * Specification, section 15.9.3. + * to be the enclosing instance; see section 15.9.3 of + * The Java™ Language Specification. * *

    If the required access and argument checks succeed and the * instantiation will proceed, the constructor's declaring class @@ -541,7 +543,8 @@ public final * constructor; returns {@code false} otherwise. * * @return true if and only if this constructor is a synthetic - * constructor as defined by the Java Language Specification. + * constructor as defined by + * The Java™ Language Specification. * @since 1.5 */ public boolean isSynthetic() { diff --git a/src/share/classes/java/lang/reflect/Field.java b/src/share/classes/java/lang/reflect/Field.java index f7647d6dc8faa999cc8eae1b42f7e53eb0b3bbf9..1e6441aa94e9e68185d8d0369e10a499f2d1fd8a 100644 --- a/src/share/classes/java/lang/reflect/Field.java +++ b/src/share/classes/java/lang/reflect/Field.java @@ -221,8 +221,8 @@ class Field extends AccessibleObject implements Member { * @return a {@code Type} object that represents the declared type for * the field represented by this {@code Field} object * @throws GenericSignatureFormatError if the generic field - * signature does not conform to the format specified in the Java - * Virtual Machine Specification, 3rd edition + * signature does not conform to the format specified in + * The Java™ Virtual Machine Specification * @throws TypeNotPresentException if the generic type * signature of the underlying field refers to a non-existent * type declaration diff --git a/src/share/classes/java/lang/reflect/GenericDeclaration.java b/src/share/classes/java/lang/reflect/GenericDeclaration.java index b4ba32906643c6e3049e185a1cfe1dda6092f83d..fb319bfbea6edfef53c26064e6bdd18b3ade4c62 100644 --- a/src/share/classes/java/lang/reflect/GenericDeclaration.java +++ b/src/share/classes/java/lang/reflect/GenericDeclaration.java @@ -42,8 +42,8 @@ public interface GenericDeclaration { * the type variables declared by this generic declaration * @throws GenericSignatureFormatError if the generic * signature of this generic declaration does not conform to - * the format specified in the Java Virtual Machine Specification, - * 3rd edition + * the format specified in + * The Java™ Virtual Machine Specification */ public TypeVariable[] getTypeParameters(); } diff --git a/src/share/classes/java/lang/reflect/Method.java b/src/share/classes/java/lang/reflect/Method.java index 1de1557051159d2ddcc795af0933c41975a9f9fe..0a1f7a30b4b88221423c5475212ededc3defd78b 100644 --- a/src/share/classes/java/lang/reflect/Method.java +++ b/src/share/classes/java/lang/reflect/Method.java @@ -194,8 +194,8 @@ public final * the type variables declared by this generic declaration * @throws GenericSignatureFormatError if the generic * signature of this generic declaration does not conform to - * the format specified in the Java Virtual Machine Specification, - * 3rd edition + * the format specified in + * The Java™ Virtual Machine Specification * @since 1.5 */ public TypeVariable[] getTypeParameters() { @@ -230,7 +230,8 @@ public final * type of the underlying method * @throws GenericSignatureFormatError * if the generic method signature does not conform to the format - * specified in the Java Virtual Machine Specification, 3rd edition + * specified in + * The Java™ Virtual Machine Specification * @throws TypeNotPresentException if the underlying method's * return type refers to a non-existent type declaration * @throws MalformedParameterizedTypeException if the @@ -275,7 +276,8 @@ public final * parameter types of the underlying method, in declaration order * @throws GenericSignatureFormatError * if the generic method signature does not conform to the format - * specified in the Java Virtual Machine Specification, 3rd edition + * specified in + * The Java™ Virtual Machine Specification * @throws TypeNotPresentException if any of the parameter * types of the underlying method refers to a non-existent type * declaration @@ -319,7 +321,8 @@ public final * thrown by the underlying method * @throws GenericSignatureFormatError * if the generic method signature does not conform to the format - * specified in the Java Virtual Machine Specification, 3rd edition + * specified in + * The Java™ Virtual Machine Specification * @throws TypeNotPresentException if the underlying method's * {@code throws} clause refers to a non-existent type declaration * @throws MalformedParameterizedTypeException if diff --git a/src/share/classes/java/lang/reflect/Modifier.java b/src/share/classes/java/lang/reflect/Modifier.java index 6b9988984df3541cb4cca56b92dba9dfd2d5c305..de8676ec975d25c4a5803b83b29984458f81e00b 100644 --- a/src/share/classes/java/lang/reflect/Modifier.java +++ b/src/share/classes/java/lang/reflect/Modifier.java @@ -34,14 +34,8 @@ import sun.reflect.ReflectionFactory; * 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 - * JavaTM Virtual Machine Specification, Second - * edition tables - * 4.1, - * 4.4, - * 4.5, and - * 4.7. + * representing the modifiers are taken from the tables in sections 4.1, 4.4, 4.5, and 4.7 of + * The Java™ Virtual Machine Specification. * * @see Class#getModifiers() * @see Member#getModifiers() @@ -214,14 +208,8 @@ class Modifier { * public final synchronized strictfp * * The modifier names are returned in an order consistent with the - * suggested modifier orderings given in The - * Java Language Specification, Second Edition sections - * §8.1.1, - * §8.3.1, - * §8.4.3, - * §8.8.3, and - * §9.1.1. + * suggested modifier orderings given in sections 8.1.1, 8.3.1, 8.4.3, 8.8.3, and 9.1.1 of + * The Java™ Language Specification. * The full modifier ordering used by this method is: *

    {@code * public protected private abstract static final transient @@ -269,9 +257,8 @@ class Modifier { } /* - * Access modifier flag constants from The Java Virtual - * Machine Specification, Second Edition, tables 4.1, 4.4, - * 4.5, and 4.7. + * Access modifier flag constants from tables 4.1, 4.4, 4.5, and 4.7 of + * The Java™ Virtual Machine Specification */ /** @@ -403,7 +390,7 @@ class Modifier { * @return an {@code int} value OR-ing together the source language * modifiers that can be applied to a class. * - * @jls3 8.1.1 Class Modifiers + * @jls 8.1.1 Class Modifiers * @since 1.7 */ public static int classModifiers() { @@ -416,7 +403,7 @@ class Modifier { * @return an {@code int} value OR-ing together the source language * modifiers that can be applied to an inteface. * - * @jls3 9.1.1 Interface Modifiers + * @jls 9.1.1 Interface Modifiers * @since 1.7 */ public static int interfaceModifiers() { @@ -429,7 +416,7 @@ class Modifier { * @return an {@code int} value OR-ing together the source language * modifiers that can be applied to a constructor. * - * @jls3 8.8.3 Constructor Modifiers + * @jls 8.8.3 Constructor Modifiers * @since 1.7 */ public static int constructorModifiers() { @@ -442,7 +429,7 @@ class Modifier { * @return an {@code int} value OR-ing together the source language * modifiers that can be applied to a method. * - * @jls3 8.4.3 Method Modifiers + * @jls 8.4.3 Method Modifiers * @since 1.7 */ public static int methodModifiers() { @@ -456,7 +443,7 @@ class Modifier { * @return an {@code int} value OR-ing together the source language * modifiers that can be applied to a field. * - * @jls3 8.3.1 Field Modifiers + * @jls 8.3.1 Field Modifiers * @since 1.7 */ public static int fieldModifiers() { diff --git a/src/share/classes/java/math/BigDecimal.java b/src/share/classes/java/math/BigDecimal.java index 0d695f3bda508b79bb15883e9df812ae10130766..0549890f1251344c880bcd56d57a13ea07cad644 100644 --- a/src/share/classes/java/math/BigDecimal.java +++ b/src/share/classes/java/math/BigDecimal.java @@ -2905,12 +2905,11 @@ public class BigDecimal extends Number implements Comparable { /** * Converts this {@code BigDecimal} to a {@code BigInteger}. - * This conversion is analogous to a narrowing - * primitive conversion from {@code double} to - * {@code long} as defined in the Java Language - * Specification: any fractional part of this + * This conversion is analogous to the + * narrowing primitive conversion from {@code double} to + * {@code long} as defined in section 5.1.3 of + * The Java™ Language Specification: + * any fractional part of this * {@code BigDecimal} will be discarded. Note that this * conversion can lose information about the precision of the * {@code BigDecimal} value. @@ -2942,13 +2941,12 @@ public class BigDecimal extends Number implements Comparable { } /** - * Converts this {@code BigDecimal} to a {@code long}. This - * conversion is analogous to a narrowing - * primitive conversion from {@code double} to - * {@code short} as defined in the Java Language - * Specification: any fractional part of this + * Converts this {@code BigDecimal} to a {@code long}. + * This conversion is analogous to the + * narrowing primitive conversion from {@code double} to + * {@code short} as defined in section 5.1.3 of + * The Java™ Language Specification: + * any fractional part of this * {@code BigDecimal} will be discarded, and if the resulting * "{@code BigInteger}" is too big to fit in a * {@code long}, only the low-order 64 bits are returned. @@ -3011,13 +3009,12 @@ public class BigDecimal extends Number implements Comparable { } /** - * Converts this {@code BigDecimal} to an {@code int}. This - * conversion is analogous to a narrowing - * primitive conversion from {@code double} to - * {@code short} as defined in the Java Language - * Specification: any fractional part of this + * Converts this {@code BigDecimal} to an {@code int}. + * This conversion is analogous to the + * narrowing primitive conversion from {@code double} to + * {@code short} as defined in section 5.1.3 of + * The Java™ Language Specification: + * any fractional part of this * {@code BigDecimal} will be discarded, and if the resulting * "{@code BigInteger}" is too big to fit in an * {@code int}, only the low-order 32 bits are returned. @@ -3095,12 +3092,11 @@ public class BigDecimal extends Number implements Comparable { /** * Converts this {@code BigDecimal} to a {@code float}. - * This conversion is similar to the narrowing - * primitive conversion from {@code double} to - * {@code float} defined in the Java Language - * Specification: if this {@code BigDecimal} has too great a + * This conversion is similar to the + * narrowing primitive conversion from {@code double} to + * {@code float} as defined in section 5.1.3 of + * The Java™ Language Specification: + * if this {@code BigDecimal} has too great a * magnitude to represent as a {@code float}, it will be * converted to {@link Float#NEGATIVE_INFINITY} or {@link * Float#POSITIVE_INFINITY} as appropriate. Note that even when @@ -3119,12 +3115,11 @@ public class BigDecimal extends Number implements Comparable { /** * Converts this {@code BigDecimal} to a {@code double}. - * This conversion is similar to the narrowing - * primitive conversion from {@code double} to - * {@code float} as defined in the Java Language - * Specification: if this {@code BigDecimal} has too great a + * This conversion is similar to the + * narrowing primitive conversion from {@code double} to + * {@code float} as defined in section 5.1.3 of + * The Java™ Language Specification: + * if this {@code BigDecimal} has too great a * magnitude represent as a {@code double}, it will be * converted to {@link Double#NEGATIVE_INFINITY} or {@link * Double#POSITIVE_INFINITY} as appropriate. Note that even when diff --git a/src/share/classes/java/math/BigInteger.java b/src/share/classes/java/math/BigInteger.java index 589b1b2ebc9c285ab093f4fa8d633db39efa4351..4fcce199de55c92793249b6c0e751a0958e8cc0c 100644 --- a/src/share/classes/java/math/BigInteger.java +++ b/src/share/classes/java/math/BigInteger.java @@ -2719,12 +2719,11 @@ public class BigInteger extends Number implements Comparable { /** * Converts this BigInteger to an {@code int}. This - * conversion is analogous to a narrowing - * primitive conversion from {@code long} to - * {@code int} as defined in the Java Language - * Specification: if this BigInteger is too big to fit in an + * conversion is analogous to a + * narrowing primitive conversion from {@code long} to + * {@code int} as defined in section 5.1.3 of + * The Java™ Language Specification: + * if this BigInteger is too big to fit in an * {@code int}, only the low-order 32 bits are returned. * Note that this conversion can lose information about the * overall magnitude of the BigInteger value as well as return a @@ -2740,12 +2739,11 @@ public class BigInteger extends Number implements Comparable { /** * Converts this BigInteger to a {@code long}. This - * conversion is analogous to a narrowing - * primitive conversion from {@code long} to - * {@code int} as defined in the Java Language - * Specification: if this BigInteger is too big to fit in a + * conversion is analogous to a + * narrowing primitive conversion from {@code long} to + * {@code int} as defined in section 5.1.3 of + * The Java™ Language Specification: + * if this BigInteger is too big to fit in a * {@code long}, only the low-order 64 bits are returned. * Note that this conversion can lose information about the * overall magnitude of the BigInteger value as well as return a @@ -2763,12 +2761,11 @@ public class BigInteger extends Number implements Comparable { /** * Converts this BigInteger to a {@code float}. This - * conversion is similar to the narrowing - * primitive conversion from {@code double} to - * {@code float} defined in the Java Language - * Specification: if this BigInteger has too great a magnitude + * conversion is similar to the + * narrowing primitive conversion from {@code double} to + * {@code float} as defined in section 5.1.3 of + * The Java™ Language Specification: + * if this BigInteger has too great a magnitude * to represent as a {@code float}, it will be converted to * {@link Float#NEGATIVE_INFINITY} or {@link * Float#POSITIVE_INFINITY} as appropriate. Note that even when @@ -2784,12 +2781,11 @@ public class BigInteger extends Number implements Comparable { /** * Converts this BigInteger to a {@code double}. This - * conversion is similar to the narrowing - * primitive conversion from {@code double} to - * {@code float} defined in the Java Language - * Specification: if this BigInteger has too great a magnitude + * conversion is similar to the + * narrowing primitive conversion from {@code double} to + * {@code float} as defined in section 5.1.3 of + * The Java™ Language Specification: + * if this BigInteger has too great a magnitude * to represent as a {@code double}, it will be converted to * {@link Double#NEGATIVE_INFINITY} or {@link * Double#POSITIVE_INFINITY} as appropriate. Note that even when diff --git a/src/share/classes/java/security/SecureClassLoader.java b/src/share/classes/java/security/SecureClassLoader.java index 4f774ca8f7dbdf5a40403b8498d9c388c10da095..8d72a0f0c8c48668a0427f82d106c809c242d650 100644 --- a/src/share/classes/java/security/SecureClassLoader.java +++ b/src/share/classes/java/security/SecureClassLoader.java @@ -118,10 +118,8 @@ public class SecureClassLoader extends ClassLoader { * and without a trailing ".class" suffix. * @param b the bytes that make up the class data. The bytes in * positions off through off+len-1 - * should have the format of a valid class file as defined - * by the - * Java - * Virtual Machine Specification. + * should have the format of a valid class file as defined by + * The Java™ Virtual Machine Specification. * @param off the start offset in b of the class data * @param len the length of the class data * @param cs the associated CodeSource, or null if none @@ -157,9 +155,8 @@ public class SecureClassLoader extends ClassLoader { * and without a trailing ".class" suffix. * @param b the bytes that make up the class data. The bytes from positions * b.position() through b.position() + b.limit() -1 - * should have the format of a valid class file as defined by the - * Java Virtual - * Machine Specification. + * should have the format of a valid class file as defined by + * The Java™ Virtual Machine Specification. * @param cs the associated CodeSource, or null if none * @return the Class object created from the data, * and optional CodeSource. diff --git a/src/share/classes/java/util/Formatter.java b/src/share/classes/java/util/Formatter.java index 6dcf8788052bc7fe133a3327904ef0027bff7e16..5ca126ab31d61f153831aa796834281b5389a946 100644 --- a/src/share/classes/java/util/Formatter.java +++ b/src/share/classes/java/util/Formatter.java @@ -1818,9 +1818,9 @@ import sun.misc.FormattedFloatingDecimal; *
    * *

    The maximum number of arguments is limited by the maximum dimension of a - * Java array as defined by the Java Virtual Machine - * Specification. If the argument index is does not correspond to an + * Java array as defined by + * The Java™ Virtual Machine Specification. + * If the argument index is does not correspond to an * available argument, then a {@link MissingFormatArgumentException} is thrown. * *

    If there are more arguments than format specifiers, the extra arguments @@ -2403,8 +2403,7 @@ public final class Formatter implements Closeable, Flushable { * string. If there are more arguments than format specifiers, the * extra arguments are ignored. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification. + * The Java™ Virtual Machine Specification. * * @throws IllegalFormatException * If a format string contains an illegal syntax, a format @@ -2443,8 +2442,7 @@ public final class Formatter implements Closeable, Flushable { * string. If there are more arguments than format specifiers, the * extra arguments are ignored. The maximum number of arguments is * limited by the maximum dimension of a Java array as defined by - * the Java - * Virtual Machine Specification + * The Java™ Virtual Machine Specification. * * @throws IllegalFormatException * If a format string contains an illegal syntax, a format diff --git a/src/share/classes/java/util/Properties.java b/src/share/classes/java/util/Properties.java index 47c9526f61a1beb2b66853fa866a32217f35e863..d27e60871f3784e79f018eb26f618ae230373951 100644 --- a/src/share/classes/java/util/Properties.java +++ b/src/share/classes/java/util/Properties.java @@ -68,8 +68,9 @@ import java.io.BufferedWriter; * 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 - * ; only a single 'u' character is allowed in an escape + * Unicode escapes as defined in section 3.3 of + * The Java™ Language Specification; + * only a single 'u' character is allowed in an escape * sequence. The native2ascii tool can be used to convert property files to and * from other character encodings. * @@ -272,11 +273,8 @@ class Properties extends Hashtable { * * Characters in keys and elements can be represented in escape * sequences similar to those used for character and string literals - * (see §3.3 - * and §3.10.6 - * of the Java Language Specification). + * (see sections 3.3 and 3.10.6 of + * The Java™ Language Specification). * * The differences from the character escape sequences and Unicode * escapes used for characters and strings are: @@ -326,8 +324,9 @@ class Properties extends Hashtable { * {@link #load(java.io.Reader) load(Reader)} and is assumed to use * the ISO 8859-1 character encoding; that is each byte is one Latin1 * character. Characters not in Latin1, and certain special characters, - * are represented in keys and elements using - * Unicode escapes. + * are represented in keys and elements using Unicode escapes as defined in + * section 3.3 of + * The Java™ Language Specification. *

    * The specified stream remains open after this method returns. * diff --git a/src/share/classes/java/util/PropertyResourceBundle.java b/src/share/classes/java/util/PropertyResourceBundle.java index 238546bacf207cf7497b1c04ca21e3d1ca744ce5..c7fe3b460a19be0b0c27841fe23c71282cf73d69 100644 --- a/src/share/classes/java/util/PropertyResourceBundle.java +++ b/src/share/classes/java/util/PropertyResourceBundle.java @@ -104,8 +104,9 @@ import sun.util.ResourceBundleEnumeration; * from an InputStream or a Reader, which represents a property file. * Constructing a PropertyResourceBundle instance from an InputStream requires * that the input stream be encoded in ISO-8859-1. In that case, characters - * that cannot be represented in ISO-8859-1 encoding must be represented by - * Unicode Escapes, + * that cannot be represented in ISO-8859-1 encoding must be represented by Unicode Escapes + * as defined in section 3.3 of + * The Java™ Language Specification * whereas the other constructor which takes a Reader does not have that limitation. * * @see ResourceBundle diff --git a/src/share/classes/java/util/concurrent/atomic/package-info.java b/src/share/classes/java/util/concurrent/atomic/package-info.java index 02ec9ee396325cbf9715cb125d735ef0f660c292..7c0ba5e86182d166adf33fcb4db8307baf74f1af 100644 --- a/src/share/classes/java/util/concurrent/atomic/package-info.java +++ b/src/share/classes/java/util/concurrent/atomic/package-info.java @@ -80,9 +80,8 @@ * * *

    The memory effects for accesses and updates of atomics generally - * follow the rules for volatiles, as stated in - * The Java Language - * Specification, Third Edition (17.4 Memory Model): + * follow the rules for volatiles, as stated in section 17.4 of + * The Java™ Language Specification. * *