avatar-decorate
韩立韩老魔 level
获赞
227
粉丝
76
关注
6
看过 TA
1080
门头沟学院
2022
Java
IP属地:福建
大势已去
私信
关注
头像
2022-01-26 17:46
门头沟学院 Java
一面(30分钟)2021.10.26 1、SpringCache的原理(项目中有用到) 2、Redis除了用缓存还能用在什么场景 3、自己设计排行榜的数据结构(业务上) 4、Redis和Memcached的区别 5、为什么Redis的单线程快 6、RPC的原理 7、RPC调用远程方法就像调用本地方法那么简单是怎么实现的(动态代理) 8、什么样的场景会出现线程安全问题(从JVM上 volatile??) 9、线程池的核心参数 10、线程池的执行原理 11、拒绝策略 12、MQ的使用场景 13、如何保证消息不丢 ...
在写文章的里根很想在家办公:8.是不是想让您回答那个经典场景:volatile只能保证线程之间的可见性,而不保证原子性,当用volatile对一个变量x修饰后,用多个线程对这个变量x进行++操作,如果这个地方不加锁的话,其实还是有线程安全问题的,因为++这个操作,在JVM底层是三个操作(1.getstatic:从主内存中取到x的值 2.iadd:将x+1 3.putstatic:将当前结果从工作内存拷贝到主内存),当然1操作肯定是正确的,2操作的话,如果线程很多的话,可能其他线程已经改变了x的值,所以当进行3操作的时候,拷贝到主内存中的值可能是偏小的,最后会导致和我们想要的答案偏小。
投递58集团等公司9个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务