java 并发 面经

面经

sychronized基于什么实现或者说基于什么命令实现


锁的升级1
JDK1.6为了减少获得锁和释放锁所带来的性能消耗,引入了“偏向锁”和“轻量级锁”,所以在JDK1.6里锁一共有四种状态,无锁状态,偏向锁状态,轻量级锁状态和重量级锁状态(依次升级),它会随着竞争情况逐渐升级。锁可以升级但不能降级,意味着偏向锁升级成轻量级锁后不能降级成偏向锁。这种锁升级却不能降级的策略,目的是为了提高获得锁和释放锁的效率.



并发学习
  • 术语
    • 独占式
    • 共享式
    • CAS
    • JUC
    • java中轻量级锁也是基于cas实现的
    • 轻量级锁一般情况下是优于重量级锁(互斥锁)的


很多时候Java面试并发部分只考察概念,尤其是面C++的时候。


文章
牛科网 2018 java线程


#面经#
全部评论
点赞 回复 分享
发布于 2018-08-24 13:23

相关推荐

10-22 21:42
已编辑
门头沟学院 Java
一面 1.HashMap数据结构?为什么要改成红黑树?什么时候发生扩容以及过程?2.jvm内存模型?有哪些区域?3.类加载机制?为什么要用双亲委派机制?4.为什么要用SpringBoot,相比Spring它解决了什么问题?5.SpringCloud解决了什么问题?微服务引入需要哪些关键组件?6.Dubbo有了解过吗?7.MySQL事务隔离级别?分别解决什么问题?可重复读实现原理?8.缓存主要用来解决什么问题?9.发生死锁的条件有哪些?10.消息队列用过吗?RocketMQ用过吗?11.分布式锁用过吗?加锁过程怎么实现?12.MySQL行锁了解吗?13.两个人同时登陆一个账号,对同一个钱包金额并发扣减,如何更新这个钱包余额?14.这个秒杀系统是你自己学的还是实习做的?15.库存放在redis里面,万一redis崩了,数据丢失怎么办?16.redis lua来秒杀,为什么不用redisson锁17.从产品角度或者技术角度,如何提高秒杀系统性能?18.以后进入工作有更多新技术新框架,如何思考这些新的东西,选择你的方向?19.未来一到三年规划?20.录取后能够来公司实习?(可以的...)反问:三轮技术面,一轮hr面全程40min,面试官非常温和。上官网查了一下,发现当初投的社招,还给面试二面面的时间更短,25min,问的比一面粗糙太多。面试官一上来就问我什么时候能来实习,我说我问了导师最后半年不能实习,然后面试官就笑了。接着质疑我硕士不是计算机。最后,他全程没开摄像头。有一题完全没回答上来:为什么tcp断开连接要4次挥手,比建立连接多一次?(之前见过,忘了)
查看21道真题和解析
点赞 评论 收藏
分享
评论
点赞
108
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务