我刚刚尝试了JDK9,发现sun.misc.Unsafe现在不包含 native 方法,而是将它们委托(delegate)给了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是否“安全”?现在是公共(public)官方API吗?

最佳答案

这是一个很好的解释:

简短的答案:您不应该在从头开始开发的任何新应用程序中使用它。

关于java - sun.misc.Unsafe是否在JDK9中公开?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46778690/

10-12 05:26