14. JAVA. Memory Model | Технострим

preview_player
Показать описание
Курс «Разработка на Java».
Лекция №14: Memory model.
Лектор: Дмитрий Архангельский.

Цель курса — создание рабочего приложения, получение необходимых навыков и опыта в области разработки программного обеспечения. По окончании курса студенты должны знать синтаксис и основные библиотеки языка Java, понимать объектно-ориентированный подход, уметь декомпозировать сложные задачи.

Получаемые навыки:
• основные конструкции языка, объекты и классы;
• ввод и вывод в Java — консольный, файловый, сетевой;
• интерфейсы и абстрактные классы, анонимные классы;
• лямбда-функции;
• сетевое взаимодействие, сокеты;
• механизм исключений;
• проверяемые и непроверяемые исключения;
• потоки — жизненный цикл, прерывание;
• критическая секция;
• проблемы взаимодействия (дедлок);
• механизм wait/notify, блокирующие очереди producer/consumer;
• коллекции, выбор структуры данных, подходящей для задачи;
• параметризованные коллекции;
• параметризация в Java.

Смотрите также:

VK Team — это миллион возможностей проявить себя. Мы делаем современные и быстрые интернет-сервисы, доступные каждому. На этом канале делимся опытом компании VK, рассказываем о технологиях, наших образовательных проектах и жизни команды.

Рекомендации по теме
Комментарии
Автор

Спасибо, одна из самых понятных лекций про java memory model!

NikolayMishin
Автор

Разве возможен реордеринг в ситуации
r2 = B
B = 1
? (5:45)
если бы в одном потоке выполнялся код
A=1
B=1
r1 = A
r2 = B
То да - мы не могли бы сказать наверняка что произойдёт раньше - запись в r1 или в r2 и тогда поток
Thread2 { if(r2==1) assert r1 == 1 } мог бы упасть.

но первый случай даже с учетом абстракции выглядит странно

nikolairomanov
Автор

как-то коротко получилось. как-будто не хватает части ₽лекции

Flaer
Автор

В примере Singleton нужно добавить ключевое слово "volatile" к переменной?
"volatile static KeeperSingle instance;"

VDlasov
Автор

закон мура о процессорах и количестве транзисторов, а не о скорости доступа к памяти. The Free Lunch Is Over - о том, что закон мура перестаёт работать и основной буст будет за счёт параллелизма. там нет ни слова о памяти и скорости доступа к ней. такое ощущение, что автор не достаточно хорошо ознакомился с предметной областью.

CyanideBtm
Автор

Так и не объяснили до конца Double check)

haykmkrtchyan
Автор

17:00 Как-раз можно операции после volatile write печат печат пегмати переставить выше. Наоборот, да, нельзя.

avpmk
Автор

какая-то глупость в примере с реордерингом и никто не задал на лекции вопрос. Ну и синглтон в конце лекции не пашет. Как было упомянуто раньше нужен волатайл. Но всё равно было интересно, спасибо

random_nick_for_comments
Автор

Ужасная противоречивая лекция в примере с реордерингом. Жирный минус.

bddfvws
Автор

Скомкано, что-то пропустил и не стал объяснять, лекция не очень.

srkttpn
Автор

Бред в лекции сам себе противоречит. Сначала говорит что все операции до и после volatile-записи не могу перемещаться вверх и вниз соответственно (рисуя на доске), потом говорит что у него A=43 (на слайдах) может улететь куда угодно . Спасибо что ломаете мозг, из-за вас любое желание учиться пропадает.Хорошо хоть по зеленым квадратикам на слайдах (которые не ваши и к изменению которых ваши руки не дотянулись) понятно что куда может улететь.

constantsvariables
Автор

Вы чего, про какие то высшие материи с синглтоном и реордингом?!
Тут каменный век..математики....аналитики

3:00
L2 медленнее L1 в 14 раз (7 / 0.5) - здесь слегка приуменьшил
L3 медленнее L1 в 200 раз (100/ 0.5) - зато здесь до овер увеличил.

Доверяйте свои денюжки таким счетоводам, .
Тетка в задрыпанном сельпо магазе на счетах сознательно и то меньше вас обЪегорит, чем такие бессознательные, бескорыстные, но тупые.

duckdeduct