本文小编为大家详细介绍“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。