Java Memory Model Pragmatics (Aleksey Shipilёv, Russia), part 1

preview_player
Показать описание
Java Memory Model (JMM) specification tries to be very concise yet complete. Because JMM tries to embrace a very large set of phenomenon, its formalism is very heavy, which unfortunately resulted in losing the “humanity” of the spec.

In this talk, we will follow the logic of the model; review what pragmatic results the model was trying to achieve; look closely at the real world limitations the model had to endure; see how JMM tries to balance between developers’ needs and runtime/hardware maintainers requests.
Рекомендации по теме
Комментарии
Автор

00:00 Введение
06:20 Access atomicity
15:41 Word tearing (Разрыв слова)
23:39 SC-DRF
Sequential Consistency - Data Race Free
Последовательная согласованность — без гонки за данными

Das.Kleine.Krokodil
Автор

Но ведь volatile нужен же не только для атомарности, это слово используют и с int к примеру. Для того чтобы поток не держал значение у себя в локальном кэше, чтобы оно гарантировано появлялось и считывалось из общей памяти, или я ошибаюсь?

КсенияСидельникова-ог
Автор

Почему на слайде с "волшебным флажком":
"double уже давно атомарен", а "long на живых векторных инструкциях"?
Они же оба 64-битные, почему один из них "уже атомарен"?

Morrado