信息介绍
如何优化Java技术能力?高并发锁实现方法有几种?高并发(High Concurrency)通常是指在同一个时间点,有很多用户同时的访问同一API接口或者URL地址。高并发是随着分布式系统的问世而出现的,是Java工程师必须要掌握的技能之一。接下来就给大家分享一下高并发锁的实现方法。
1、乐观锁
乐观锁使用的场景是:读不会冲突、写会冲突,同时读的频率远大于写。
参考代码:
public object get(Object obj){
Object val =null;
if(val=map.get(key)==null){
//当map取值为null时再加锁判断
synchronized(map){
if(map.get(key)==null){
set some value;
}
}
}
return map.get(key);
}
乐观的认为在读的时候不会产生冲突为题,在写时添加锁。所以解决的应用场景是读远大于写时的场景。
2、String.intern()
乐观锁不能很好的解决大量的写冲突的问题,因为很多场景下,锁只是针对某个用户或者某个订单。然而由于网络问题,用户在创建session的请求和后续的请求可能会同时到达,并行线程会优先处理后面的请求,这就催生了行锁和数据库表锁的概念,显然行锁的并发能力比表锁高很多,使用String.intern()是这种方式的具体实现。
3、类ConcurrentHashMap
String.inter()的缺陷是类String维护一个字符串池是放在JVM perm区的,如果用户数特别多,导致放入字符串池的String不可控,有可能导致OOM错误或者过多的Full GC。怎么样能控制锁的个数,同时减小粒度锁呢?你可以借鉴ConcurrentHashMap的方式,将需要加锁的对象分为多个bucket,每个bucket加一个锁。
类String维护了一个字符串池,当调用intern方法时,如果池已经包含一个等于此String对象的字符串(该对象由equals(Object)方法确定),则返回池中的字符串。当String 相同时,总返回同一个对象,因此就实现了对同一用户加锁。由于所的颗粒度局限于具体用户,使得系统获得**程度的并发。
如果你想了解更多Java高并发知识,可以专业学习一下,让自己在学习过程中养成思考问题,透彻理解,解决问题,寻求更好解决方案的职业思维,开发效率成倍增加,技术能力不断优化。
欢迎具体了解:郑州Java培训机构http://zz.mobiletrain.org/java/
1、乐观锁
乐观锁使用的场景是:读不会冲突、写会冲突,同时读的频率远大于写。
参考代码:
public object get(Object obj){
Object val =null;
if(val=map.get(key)==null){
//当map取值为null时再加锁判断
synchronized(map){
if(map.get(key)==null){
set some value;
}
}
}
return map.get(key);
}
乐观的认为在读的时候不会产生冲突为题,在写时添加锁。所以解决的应用场景是读远大于写时的场景。
2、String.intern()
乐观锁不能很好的解决大量的写冲突的问题,因为很多场景下,锁只是针对某个用户或者某个订单。然而由于网络问题,用户在创建session的请求和后续的请求可能会同时到达,并行线程会优先处理后面的请求,这就催生了行锁和数据库表锁的概念,显然行锁的并发能力比表锁高很多,使用String.intern()是这种方式的具体实现。
3、类ConcurrentHashMap
String.inter()的缺陷是类String维护一个字符串池是放在JVM perm区的,如果用户数特别多,导致放入字符串池的String不可控,有可能导致OOM错误或者过多的Full GC。怎么样能控制锁的个数,同时减小粒度锁呢?你可以借鉴ConcurrentHashMap的方式,将需要加锁的对象分为多个bucket,每个bucket加一个锁。
类String维护了一个字符串池,当调用intern方法时,如果池已经包含一个等于此String对象的字符串(该对象由equals(Object)方法确定),则返回池中的字符串。当String 相同时,总返回同一个对象,因此就实现了对同一用户加锁。由于所的颗粒度局限于具体用户,使得系统获得**程度的并发。
如果你想了解更多Java高并发知识,可以专业学习一下,让自己在学习过程中养成思考问题,透彻理解,解决问题,寻求更好解决方案的职业思维,开发效率成倍增加,技术能力不断优化。
欢迎具体了解:郑州Java培训机构http://zz.mobiletrain.org/java/
联系方式
0371-55191750
温馨提示
1、信息由网友自行发布,平台仅提供信息展示服务,请主动核实信息真实性,避免上当!
2、如发现虚假、违规信息?点此举报
2、如发现虚假、违规信息?点此举报
发布供求信息
最新供求
推荐供求
热门供求
热
半潜钻井平台升降避雷针 75米升降避雷塔 加高透波材质
热
80米升降避雷塔 移动雷达站伸缩式避雷针 可远程升降
热
应急移动雷达塔 5米玻璃钢接闪杆 CMCE电场补偿器避雷针
热
海岛雷达塔玻璃钢接闪杆 耐腐蚀玻璃纤维灯杆监控杆 场变放电避雷针
热
通信站玻璃纤维避雷针 12米透波玻璃钢监控立杆 各天气条件下可用
热
风景区15米玻璃钢避雷针 防侧击玻璃纤维监控杆 绝缘天线杆
热
浔阳区十里大道空调安装,步红花园空调维修,空调不制冷加氟
热
12米玻璃钢FRP灯杆 复合材料非金属监控杆 玻璃纤维复合监控杆
热
微波通讯站高透波避雷针 机场易折型接闪杆 古树轻质避雷针
热
SO45001职业健康安全管理体系认证:安全工作,品质跃升