CAS (Compare-And-Swap) — атомарная процессорная инструкция: "если текущее значение == ожидаемому, замени на новое". Если другой поток уже изменил значение — CAS fail, и ты повторяешь (spin loop). Это основа lock-free алгоритмов — нет блокировок, нет context switch. AtomicInteger.compareAndSet(), ConcurrentHashMap, ConcurrentLinkedQueue — всё на CAS. Проблема ABA: значение было A, стало B, снова A — CAS не заметит. Решение: AtomicStampedReference добавляет версию.
Что такое CAS-операция?
Senior
199 просмотровAFK Offer AI
Что такое bytecode verification и зачем JVM это делает?