/**
* Atomically update Java variable to <tt>x</tt> if it is currently
* holding <tt>expected</tt>.
* @return <tt>true</tt> if successful
*/
public final native boolean compareAndSwapObject(Object o, long offset,
Object expected,
Object x);
1) Как они «атомарно» устанавливают значение «o» в позиции «offset» на «x», если «value == ожидается»?
2) Как они «блокируют» объект, когда мы используем синхронизированный метод или синхронизированный блок? Мне просто любопытно узнать, что скрывается под капотом.