Модель памяти Java - кто-то может это объяснить?

В течение многих лет я пытался понятьчасть спецификации Java, которая имеет дело с моделью памяти и параллелизмом. Я должен признать, что я с треском провалился. Да, я понимаю о блокировках и "синхронизированных" и wait () и notify (). И я могу использовать их просто отлично, спасибо. У меня даже есть смутное представление о том, что делает «изменчивый». Но все это происходило не из языковой спецификации, а из общего опыта.

Вот два примера вопросов, которые я задаю. Меня не очень интересуют конкретные ответы, так как мне нужно понять, как ответы получены из спецификации (или, может быть, из-за того, что я пришел к выводу, что в спецификации нет ответа).

Что именно делает "volatile"?Является ли запись в переменную atomic? Зависит ли это от типа переменной?

Ответы на вопрос(8)

Ваш ответ на вопрос