Понимание изменчивого модификатора в контексте архитектуры x86 и модели памяти Java (JMM)JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Понимание изменчивого модификатора в контексте архитектуры x86 и модели памяти Java (JMM)

Сообщение Anonymous »

У меня есть вопрос относительно модели памяти Java (JMM), особенно в контексте архитектуры x86, который мне кажется весьма интригующим. Одной из самых запутанных и часто обсуждаемых тем является модификатор volutable.
Я слышал много заблуждений, предполагающих, что voluty эффективно запрещает использование кэшированных значения для полей, отмеченных этим модификатором. Некоторые даже утверждают, что он запрещает использование регистров. Однако, насколько я понимаю, это упрощенные понятия. Я никогда не встречал инструкций, явно запрещающих использовать кэши или регистры для хранения таких полей. Я даже не уверен, возможно ли такое поведение технически.
Итак, мой вопрос адресован экспертам по архитектуре x86: Что на самом деле происходит под капотом? Какую семантику гарантирует модификатор Volut? Судя по тому, что я видел, он реализует полный барьер памяти с помощью префикса LOCK в сочетании с инструкцией добавления 0.
Давайте уладим этот спор раз и навсегда.
P.S. Я очень устал слышать ложные утверждения от своих коллеги-программисты о волатильный. Они продолжают повторять одну и ту же историю об использовании кэша, и я глубоко убежден, что они ужасно заблуждаются!
Я исследовал модель памяти Java (JMM) и использование энергозависимых данных модификатор. Я ожидал найти четкие объяснения того, как работает Volatility в контексте архитектуры x86, особенно относительно ее влияния на кэширование и использование регистров. Однако я столкнулся с противоречивой информацией и заблуждениями. Я прошу разъяснений у экспертов, чтобы понять истинную семантику и поведение VOL в системах x86.

Подробнее здесь: https://stackoverflow.com/questions/785 ... -and-the-j
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»