woshikid / blog

Apache License 2.0
8 stars 1 forks source link

Java23新特性 #203

Open woshikid opened 1 month ago

woshikid commented 1 month ago

Markdown文档注释

/// 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}控制兼容性行为

使用标准API替代方案

分代ZGC

ZGC默认启用分代模式,并弃用非分代模式

// 默认垃圾收集器仍为G1
java -XX:+UseZGC // 使用分代ZGC