15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package java.lang;
27
28 import jdk.internal.misc.Blocker;
29 import jdk.internal.vm.annotation.IntrinsicCandidate;
30
31 /**
32 * Class {@code Object} is the root of the class hierarchy.
33 * Every class has {@code Object} as a superclass. All objects,
34 * including arrays, implement the methods of this class.
35 *
36 * @see java.lang.Class
37 * @since 1.0
38 */
39 public class Object {
40
41 /**
42 * Constructs a new object.
43 */
44 @IntrinsicCandidate
45 public Object() {}
46
47 /**
48 * Returns the runtime class of this {@code Object}. The returned
49 * {@code Class} object is the object that is locked by {@code
50 * static synchronized} methods of the represented class.
51 *
52 * <p><b>The actual result type is {@code Class<? extends |X|>}
53 * where {@code |X|} is the erasure of the static type of the
54 * expression on which {@code getClass} is called.</b> For
|
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package java.lang;
27
28 import jdk.internal.misc.Blocker;
29 import jdk.internal.vm.annotation.IntrinsicCandidate;
30
31 /**
32 * Class {@code Object} is the root of the class hierarchy.
33 * Every class has {@code Object} as a superclass. All objects,
34 * including arrays, implement the methods of this class.
35 * <p>
36 * Subclasses of {@code java.lang.Object} can be either an {@linkplain Class#isIdentity identity class}
37 * or a {@linkplain Class#isValue value class}.
38 * See {@jls The Java Language Specification 8.1.1.5 value Classes}.
39 *
40 * @see java.lang.Class
41 * @since 1.0
42 */
43 public class Object {
44
45 /**
46 * Constructs a new object.
47 */
48 @IntrinsicCandidate
49 public Object() {}
50
51 /**
52 * Returns the runtime class of this {@code Object}. The returned
53 * {@code Class} object is the object that is locked by {@code
54 * static synchronized} methods of the represented class.
55 *
56 * <p><b>The actual result type is {@code Class<? extends |X|>}
57 * where {@code |X|} is the erasure of the static type of the
58 * expression on which {@code getClass} is called.</b> For
|