I. Architecture web app Cache layer Practice - Java Volatile vs Synchronized
#java #volatile #synchronized
Видео предназначено для начинающих программистов. Рассматриваются базовые понятия, касаемые транспортного слоя веб-приложения.
Доступы к volatile-переменной упорядочены глобально. Это означает, что каждый поток, обращающийся к volatile-полю, прочитает его значение перед тем как продолжить вместо того, чтобы (по возможности) использовать закешированное значение.
Эффект взаимного исключения и синхронизации потоков достигается вхождением в synchronized-блок или метод, неявно получающий блокировку, или получением блокировки явным образом (таким как ReentrantLock из пакета ). Оба подхода оказывают одинаковое влияние на поведение памяти. Если все попытки доступа к некоторому полю защищены одной и той же блокировкой, то операции чтения-записи этого поля являются атомарными.
Кэш - промежуточный буфер с быстрым доступом к нему, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Доступ к данным в кэше осуще