Только что попробовал JDK9
и обнаружил, что sun.misc.Unsafe
теперь содержит не нативный метод, а делегирует их какому-то jdk.internal.misc.Unsafe
, например:
@ForceInline
public int getInt(Object o, long offset) {
return theInternalUnsafe.getInt(o, offset);
}
Последний, в свою очередь, выглядит фактически как старый sun.misc.Unsafe
, но теперь методы снабжены некоторой аннотацией:
@HotSpotIntrinsicCandidate
public native void putObject(Object o, long offset, Object x);
Итак, безопасно ли использовать Unsafe
при запуске JDK9? Это официальный публичный API?