伪共享java

伪共享:即多线程下对多线程对不同变量进行读取时,由于不同变量在同一个cache line中,导致类似“共享”情况,导致性能下降

java jdk解决方法:

1、jdk1.6:自动填充变量使其变量长度达到64byte,这样一个cache line只有一个变量,就不会有伪共享问题

2、jdk1.7:jdk会进行变量优化,简单填充会被优化导致无用,所以需要使用继承方法,扩充变量大小,达到64byte长度

3、jdk1.8:原生支持自动填充解决问题,但是需要对象加注解(@Contended),进行自动缓存行填充,执行时,必须加上虚拟机参数-XX:-RestrictContended

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值