我刚试了一下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);
那么,从JDK9开始使用Unsafe
是“安全”的吗?它现在是公共官方API吗?