web-dev-qa-db-ja.com

Sun.misc.Unsafeはどこに文書化されていますか?

_Sun.misc.Unsafe_の包括的なドキュメントを知っている人はいますか?

Unsafe.putOrderedInt()に関するドキュメントを探しています。 これ は私が見つけることができたすべてでした。

_public native  void putOrderedInt(Object o,
    long offset,
    int x)

     Ordered/Lazy version of #putIntVolatile(Object, long, int) 
_

誰もがより良いソースを知っていますか?

62
JAM

Mishadoffのブログにそれに関する素晴らしい投稿があります here .

クラスは正式に文書化されていません。

54
mwerschy

putOrderedメソッドについて..

このメソッドを呼び出して、揮発性ストアを使用せずに揮発性フィールドを設定できます。揮発性ストアを実行する場合、基本的に、バリアの前のすべてのストア命令がバリアの前に発生し、メモリが表示されるストアメモリバリアがありますデータがキャッシュサブシステムに伝播されることを確認します。したがって、揮発性ストアがある場合は、ストアバッファが空になるのを待つ必要があります。putOrdered実行中のスレッドは、ストアバッファが空になるのを待たず、これによりパフォーマンスが向上します。しかし、結果として、保存された値は他のスレッドからすぐには見えません。

AtomicLong(または他のAtomicクラス)を見ると、lazySetputOrderedLongを実際に実行するメソッド。このメソッドのjavadocは次のとおりです。

最終的に指定された値に設定します。

8
Ivan Senic