/// Returns a hash code value for the object. This method is
/// supported for the benefit of hash tables such as those provided by
/// [java.util.HashMap].
///
/// The general contract of `hashCode` is:
///
/// - Whenever it is invoked on the same object more than once during
/// an execution of a Java application, the `hashCode` method
/// must consistently return the same integer, provided no information
/// used in `equals` comparisons on the object is modified.
/// This integer need not remain consistent from one execution of an
/// application to another execution of the same application.
/// - If two objects are equal according to the
/// [equals][#equals(Object)] method, then calling the
/// `hashCode` method on each of the two objects must produce the
/// same integer result.
/// - It is _not_ required that if two objects are unequal
/// according to the [equals][#equals(Object)] method, then
/// calling the `hashCode` method on each of the two objects
/// must produce distinct integer results. However, the programmer
/// should be aware that producing distinct integer results for
/// unequal objects may improve the performance of hash tables.
///
/// @implSpec
/// As far as is reasonably practical, the `hashCode` method defined
/// by class `Object` returns distinct integers for distinct objects.
///
/// @return a hash code value for this object.
/// @see java.lang.Object#equals(java.lang.Object)
/// @see java.lang.System#identityHashCode
弃用sun.misc.Unsafe中的内存访问方法
JEP 471
使用--sun-misc-unsafe-memory-access={allow|warn|debug|deny}控制兼容性行为
Markdown文档注释
弃用sun.misc.Unsafe中的内存访问方法
JEP 471 使用
--sun-misc-unsafe-memory-access={allow|warn|debug|deny}
控制兼容性行为使用标准API替代方案
java.lang.invoke.VarHandle
:操作堆内内存,包括对象字段、静态字段与数组元素java.lang.foreign.MemorySegment
:操作堆外内存,有时与VarHandle
配合使用分代ZGC
ZGC默认启用分代模式,并弃用非分代模式