Nice paper.<p>IIRC sometime later a further important optimization, known as biased locking[1], was added to Java locks to avoid, in the always uncontended case, the expensive CAS required to acquire the lock.<p>[1] <a href="https://blogs.oracle.com/dave/biased-locking-in-hotspot" rel="nofollow">https://blogs.oracle.com/dave/biased-locking-in-hotspot</a>