您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“java CAS指的是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“java CAS指的是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
1、說明
當多個線程同時對某個資源進行CAS操作時,只有一個線程成功,但不會堵塞其他線程,其他線程只會收到操作失敗的信號。可見CAS其實是一個樂觀的鎖。
2、實例
跟隨AtomInteger的代碼,我們可以發現最終調用的是sum.misc.Unsafe。看看Unsafe這個名字,它是一個不安全的類別,它利用了Java類別和可見性規則中恰到好處的漏洞。為了速度,Unsafe在Java的安全標準上做出了一些妥協。
public final native boolean compareAndSwapInt(Object var1, long var2, int var4, int var5);
這幾個 CAS 的方法應該是使用了本地的方法。所以這幾個方法的具體實現需要我們自己去 jdk 的源碼中搜索。
1、簡單,只需理解基本的概念,就可以編寫適合于各種情況的應用程序;
2、面向對象;
3、分布性,Java是面向網絡的語言;
4、魯棒性,java提供自動垃圾收集來進行內存管理,防止程序員在管理內存時容易產生的錯誤;
5、安全性,用于網絡、分布環境下的Java必須防止病毒的入侵;
6、體系結構中立,只要安裝了Java運行時系統,就可在任意處理器上運行;
7、可移植性,Java可以方便地移植到網絡上的不同機器;
8、解釋執行,Java解釋器直接對Java字節碼進行解釋執行。
讀到這里,這篇“java CAS指的是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。