關於CAS中的ABA問題存在的隱患

一開始覺得ABA問題確實是個問題,但是具體場景是什麼呢,雖然過程改了,但是結果一樣,取的值也一樣
不明所以,不過呢,這裡也有一個小的demo可以說明一下

該例子通過AtomicReference判斷對象User是否發生了改變,單從對象來說,沒有變吧,結果輸出也是

不會吧不會吧,你和我說,天黑了,看不清人,但是一摸就知道是人啊,在家裡除了你武大郎還能是誰呢
我想想也是,我武大郎是人,西門慶不也是人啊,所以武大郎=西門慶,我潘金蓮做的事怎麼會是錯的呢,
所以是true吧
那到底是不是true呢?
由此呢看出來CAS比較的是對象是否發生了變化,你這個人是不是變成了動物,並沒有在意內容的變化
CAS可能會導致某些集合類的操作並不是原子性的,因為你並不能保證在CAS的過程中,有沒有其他的節點發送變化。
鏈表的解釋就百度一下吧,道理相通
當然要是你發生了這種事情能想通,那就沒法了

有句話怎麼說,你出去打拚多年回來了,她卻說你變了
你還是那個你