当前位置: 首页 > news >正文

黑马JVM总结(三十六)

(1)CAS-概述

cas是配合volatile使用的技术 ,对共享变量的安全性要使用synachonized加锁,但是CAS不加锁,它是使用where(true)的死循环,里面compareAndSwap尝试把结果赋值给共享变量,赋值的同时呢,会把旧值跟共享变量当前的值做一个比较,因为他怕在写入结果的时候,有其他线程把已经把共享变量改了,这两个值是一致的就把结果成功的写入共享变量里去,如果不一致,放回false,重新进入where循环

(2)CAS-底层

CAS底层使用Unsafe类来实现的 

(3)CAS-原子类

它是采用无锁并发的方式保证原子整数信息的并发安全

(4)synchronized-优化

jdk6之后呢底层对synchronized做了优化,性能得到提升,某些场景下比CAS更好,它采用轻量级锁,偏向锁,等等提升性能 

标记位:就是标记你加了偏向锁啊还是轻量级锁重量级锁啊

根据锁的类型存储重量级锁的指针啊,锁记录的指针啊

(5)synchronized-轻量级锁

http://www.lryc.cn/news/195783.html

相关文章:

  • 【React】01-React的入门
  • 【C语言进阶】自定义类型:结构体,枚举,联合
  • Sklearn 聚类算法的性能评估
  • 9月最新外贸进出口数据出来了,外贸整体向好
  • SSL证书有效期越来越短是什么原因?
  • 【前段基础入门之】=>CSS3新特性 3D 变换
  • form表单的三种封装方法(Vue+ElementUI)
  • 云原生周刊:CNCF 宣布 Cilium 毕业 | 2023.10.16
  • 岩土工程监测利器:多通道振弦数据记录仪应用隧道监测
  • hive排序
  • 网络安全入门教程(非常详细)从零基础入门到精通
  • 自动驾驶中的数据安全和隐私
  • 回应:淘宝支持使用微信支付?
  • k8s的etcd启动报错
  • codeigniter 4.1.3 gadget chain
  • L1-039 古风排版 C++解法
  • docker安装tomcat
  • 别人ping不通我的ip解决方法
  • Python爬虫基础之Selenium详解
  • MS5228数模转换器可pin对pin兼容AD5628
  • 强化学习基础(2)—常用算法总结
  • Web攻防01-ASP应用相关漏洞-HTTP.SYSIIS短文件文件解析ACCESS注入
  • 入门小白拥有服务器的建议
  • Spring源码解析——事务增强器
  • JAVA发送消息到RabbitMq
  • Python 函数(lambda 匿名函数、自定义函数、装饰器)基本使用指南
  • 第五届芜湖机器人展,正运动助力智能装备“更快更准”更智能!
  • JVM八股文
  • 代码随想录算法训练营第二十四天丨 回溯算法part02
  • 【Python机器学习】零基础掌握AgglomerativeClustering聚类