533 /**
534 * Returns the same hash code for the given object as
535 * would be returned by the default method hashCode(),
536 * whether or not the given object's class overrides
537 * hashCode().
538 * The hash code for the null reference is zero.
539 *
540 * @param x object for which the hashCode is to be calculated
541 * @return the hashCode
542 * @since 1.1
543 * @see Object#hashCode
544 * @see java.util.Objects#hashCode(Object)
545 */
546 @HotSpotIntrinsicCandidate
547 public static native int identityHashCode(Object x);
548
549 /**
550 * System properties. The following properties are guaranteed to be defined:
551 * <dl>
552 * <dt>java.version <dd>Java version number
553 * <dt>java.vendor <dd>Java vendor specific string
554 * <dt>java.vendor.url <dd>Java vendor URL
555 * <dt>java.home <dd>Java installation directory
556 * <dt>java.class.version <dd>Java class version number
557 * <dt>java.class.path <dd>Java classpath
558 * <dt>os.name <dd>Operating System Name
559 * <dt>os.arch <dd>Operating System Architecture
560 * <dt>os.version <dd>Operating System Version
561 * <dt>file.separator <dd>File separator ("/" on Unix)
562 * <dt>path.separator <dd>Path separator (":" on Unix)
563 * <dt>line.separator <dd>Line separator ("\n" on Unix)
564 * <dt>user.name <dd>User account name
565 * <dt>user.home <dd>User home directory
566 * <dt>user.dir <dd>User's current working directory
567 * </dl>
568 */
569
570 private static Properties props;
571 private static native Properties initProperties(Properties props);
572
573 /**
574 * Determines the current system properties.
575 * <p>
576 * First, if there is a security manager, its
577 * <code>checkPropertiesAccess</code> method is called with no
578 * arguments. This may result in a security exception.
579 * <p>
580 * The current set of system properties for use by the
581 * {@link #getProperty(String)} method is returned as a
582 * <code>Properties</code> object. If there is no current set of
583 * system properties, a set of system properties is first created and
584 * initialized. This set of system properties always includes values
585 * for the following keys:
586 * <table class="striped" style="text-align:left">
587 * <caption style="display:none">Shows property keys and associated values</caption>
588 * <thead>
589 * <tr><th scope="col">Key</th>
590 * <th scope="col">Description of Associated Value</th></tr>
591 * </thead>
592 * <tbody>
593 * <tr><th scope="row"><code>java.version</code></th>
594 * <td>Java Runtime Environment version which may be interpreted
595 * as a {@link Runtime.Version}</td></tr>
596 * <tr><th scope="row"><code>java.vendor</code></th>
597 * <td>Java Runtime Environment vendor</td></tr>
598 * <tr><th scope="row"><code>java.vendor.url</code></th>
599 * <td>Java vendor URL</td></tr>
600 * <tr><th scope="row"><code>java.home</code></th>
601 * <td>Java installation directory</td></tr>
602 * <tr><th scope="row"><code>java.vm.specification.version</code></th>
603 * <td>Java Virtual Machine specification version which may be
604 * interpreted as a {@link Runtime.Version}</td></tr>
605 * <tr><th scope="row"><code>java.vm.specification.vendor</code></th>
606 * <td>Java Virtual Machine specification vendor</td></tr>
607 * <tr><th scope="row"><code>java.vm.specification.name</code></th>
608 * <td>Java Virtual Machine specification name</td></tr>
609 * <tr><th scope="row"><code>java.vm.version</code></th>
610 * <td>Java Virtual Machine implementation version which may be
611 * interpreted as a {@link Runtime.Version}</td></tr>
612 * <tr><th scope="row"><code>java.vm.vendor</code></th>
613 * <td>Java Virtual Machine implementation vendor</td></tr>
614 * <tr><th scope="row"><code>java.vm.name</code></th>
615 * <td>Java Virtual Machine implementation name</td></tr>
616 * <tr><th scope="row"><code>java.specification.version</code></th>
617 * <td>Java Runtime Environment specification version which may be
618 * interpreted as a {@link Runtime.Version}</td></tr>
619 * <tr><th scope="row"><code>java.specification.vendor</code></th>
|
533 /**
534 * Returns the same hash code for the given object as
535 * would be returned by the default method hashCode(),
536 * whether or not the given object's class overrides
537 * hashCode().
538 * The hash code for the null reference is zero.
539 *
540 * @param x object for which the hashCode is to be calculated
541 * @return the hashCode
542 * @since 1.1
543 * @see Object#hashCode
544 * @see java.util.Objects#hashCode(Object)
545 */
546 @HotSpotIntrinsicCandidate
547 public static native int identityHashCode(Object x);
548
549 /**
550 * System properties. The following properties are guaranteed to be defined:
551 * <dl>
552 * <dt>java.version <dd>Java version number
553 * <dt>java.version.date <dd>Java version date
554 * <dt>java.vendor <dd>Java vendor specific string
555 * <dt>java.vendor.url <dd>Java vendor URL
556 * <dt>java.vendor.version <dd>Java vendor version
557 * <dt>java.home <dd>Java installation directory
558 * <dt>java.class.version <dd>Java class version number
559 * <dt>java.class.path <dd>Java classpath
560 * <dt>os.name <dd>Operating System Name
561 * <dt>os.arch <dd>Operating System Architecture
562 * <dt>os.version <dd>Operating System Version
563 * <dt>file.separator <dd>File separator ("/" on Unix)
564 * <dt>path.separator <dd>Path separator (":" on Unix)
565 * <dt>line.separator <dd>Line separator ("\n" on Unix)
566 * <dt>user.name <dd>User account name
567 * <dt>user.home <dd>User home directory
568 * <dt>user.dir <dd>User's current working directory
569 * </dl>
570 */
571
572 private static Properties props;
573 private static native Properties initProperties(Properties props);
574
575 /**
576 * Determines the current system properties.
577 * <p>
578 * First, if there is a security manager, its
579 * <code>checkPropertiesAccess</code> method is called with no
580 * arguments. This may result in a security exception.
581 * <p>
582 * The current set of system properties for use by the
583 * {@link #getProperty(String)} method is returned as a
584 * <code>Properties</code> object. If there is no current set of
585 * system properties, a set of system properties is first created and
586 * initialized. This set of system properties always includes values
587 * for the following keys:
588 * <table class="striped" style="text-align:left">
589 * <caption style="display:none">Shows property keys and associated values</caption>
590 * <thead>
591 * <tr><th scope="col">Key</th>
592 * <th scope="col">Description of Associated Value</th></tr>
593 * </thead>
594 * <tbody>
595 * <tr><th scope="row"><code>java.version</code></th>
596 * <td>Java Runtime Environment version, which may be interpreted
597 * as a {@link Runtime.Version}</td></tr>
598 * <tr><th scope="row"><code>java.version.date</code></th>
599 * <td>Java Runtime Environment version date, in ISO-8601 YYYY-MM-DD
600 * format, which may be interpreted as a {@link
601 * java.time.LocalDate}</td></tr>
602 * <tr><th scope="row"><code>java.vendor</code></th>
603 * <td>Java Runtime Environment vendor</td></tr>
604 * <tr><th scope="row"><code>java.vendor.url</code></th>
605 * <td>Java vendor URL</td></tr>
606 * <tr><th scope="row"><code>java.vendor.version</code></th>
607 * <td>Java vendor version</td></tr>
608 * <tr><th scope="row"><code>java.home</code></th>
609 * <td>Java installation directory</td></tr>
610 * <tr><th scope="row"><code>java.vm.specification.version</code></th>
611 * <td>Java Virtual Machine specification version which may be
612 * interpreted as a {@link Runtime.Version}</td></tr>
613 * <tr><th scope="row"><code>java.vm.specification.vendor</code></th>
614 * <td>Java Virtual Machine specification vendor</td></tr>
615 * <tr><th scope="row"><code>java.vm.specification.name</code></th>
616 * <td>Java Virtual Machine specification name</td></tr>
617 * <tr><th scope="row"><code>java.vm.version</code></th>
618 * <td>Java Virtual Machine implementation version which may be
619 * interpreted as a {@link Runtime.Version}</td></tr>
620 * <tr><th scope="row"><code>java.vm.vendor</code></th>
621 * <td>Java Virtual Machine implementation vendor</td></tr>
622 * <tr><th scope="row"><code>java.vm.name</code></th>
623 * <td>Java Virtual Machine implementation name</td></tr>
624 * <tr><th scope="row"><code>java.specification.version</code></th>
625 * <td>Java Runtime Environment specification version which may be
626 * interpreted as a {@link Runtime.Version}</td></tr>
627 * <tr><th scope="row"><code>java.specification.vendor</code></th>
|