Где солнце.разное.Небезопасно документировано? [закрытый]
кто-нибудь знает о полной документации к sun.misc.Unsafe
?
этой - это все, что я смог найти. Кто-нибудь знает лучший источник?
Ищу Javadoc для putOrderedInt
только найти
2 ответа:
есть хороший пост об этом в блоге mishadoff здесь: http://mishadoff.github.io/blog/java-magic-part-4-sun-dot-misc-dot-unsafe/. Класс официально, хотя и без документов.
о putOrdered методы..
этот метод можно вызвать для установки поля volatile без использования хранилища volatile.. Если вы выполняете изменчивое хранилище, у вас в основном есть барьер памяти хранилища, который гарантирует, что все инструкции хранилища до барьера, происходят до барьера и что память видна, гарантируя, что данные распространяются в подсистему кэша.. Поэтому, когда у вас есть хранилище volatile, вы должны дождаться слива буфера хранилища.. С putOrdered выполнение потока не будет ждать слива буфера хранилища, и это может повысить производительность.. Однако, как следствие, сохраненное значение не будет сразу видно другим потокам..
Если вы посмотрите на AtomicLong (или другие атомарные классы) есть lazySet метод, который фактически выполняет putOrderedLong. Javadoc для этого метода:
в конечном итоге устанавливает заданное значение.