は、Java 8までは、次のようなメソッドを介してシングルトンsun.misc.Unsafe
インスタンスを得ることができた:Java 9でsun.misc.Unsafeを使用することはできますか?
public static Unsafe getUnsafe() {
try {
Field f = Unsafe.class.getDeclaredField("theUnsafe");
f.setAccessible(true);
return (Unsafe) f.get(null);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
それは非常にUnsafe
を使用していないことが示唆されたにもかかわらず、多くのベンダーとライブラリが内部的にそれを使用しています。
Java 9とJigsawでは、Unsafe
の処理方法も変更されていると思います。私は、反対の情報でいくつかの記事を読む。一部は完全に隠されており、取り出すことはできないと言う人もいれば、VMフラグを有効にする必要があると言う人もいれば、今では正式にサポートするべきであると書いている人もいます。
So:まだJava 9でsun.misc.Unsafe
を使用することはできますか?
「java.misc.Unsafe」のようなものはありません。 'sun.misc.Unsafe'があります。これは、1997年以来私が今までに見たJDKのすべてのリリースに含まれていた一般的な' sun。* 'パッケージ警告の対象です。 – EJP
sun.misc.Unsafeは同じように動作しますJDK 8と同様にJDK 9。すべての詳細についてはJEP 260を参照してください。あなたはどんな問題に取り組んでいますか? –
正しい終了の質問は、 "もしそうなら、*なぜ*?"でなければなりません。 – Holger