JUC并发编程第三章——Java锁事

  1. Java锁事

1.1 大厂面试题

一、Synchronized相关问题

1.Synchronized 用过吗,其原理是什么?

2.你刚才提到获取对象的锁,这个"锁"到底是什么?如何确定对象的领?

3.什么是可重入性,为什么说Synchronized是可重入锁?

4.JVM对Java的原生锁做了哪些优化?

5.为什么说Synchronized是非公平锁?

6.什么是锁消除和锁粗化?

7.为什么说Synchronized是---个悲观领?乐观锁的实现原理又是什么?什么是CAS?

8.乐观锁---定就是好的吗?

9、synchronized实现原理,monitor对象什么时候生成的?知道monitor的monitorenter和monitorexit这两个是怎么保证同步的吗,或者说,这两个操作计算机底层是如何执行的

10.刚刚你提到了synchronized的优化过程,详细说一下吧。偏向锁和轻量级锁有什么区别?

二、可重入锁ReentrantLock及其他显式锁相关问题

1.跟Synchronized相比,可重入锁ReentrantLock 其续现原理有什么不同?

2那么请谈谈AQS框架是怎么回事儿?

3.请尽可能详尽地对比下Synchronized和 ReentrantLock的异同。

4.ReentrantLock是如何实现可重入性的?

三、其他

1.你怎么理解iava多线程的?怎么处理并发?线程池有那几个核心参数?你们项目中如何根据实际场景设置参数的?

2.Java加锁有哪几种锁?

3.简单说说lock ?

4.hashmap的实现原理? hash冲突怎么解决?为什么使用红黑树?

5.spring里面都使用了那些设计模式?循环依赖怎么解决?

6.项目中那个地方用了countdownlanch,怎么使用的?

7、从集合开始吧,介绍一下常用的集合类,哪些是有序的,哪些是无序的

8、hashmap是如何寻址的,哈希碰撞后是如何存储数据的,1.8后什么时候变成红黑树,红黑树有什么好处

9、concurrrenthashmap怎么实现线程安全,一个里面会有几个段 segment,jdk1.8后有优化concurrenthashmap吗?分段锁有什么坏处。

相关推荐
郝学胜-神的一滴1 分钟前
Effective Python 第52条:用subprocess模块优雅管理子进程
linux·服务器·开发语言·python
valan liya12 分钟前
C++list
开发语言·数据结构·c++·list
6***x54522 分钟前
Java设计模式之策略模式
java·设计模式·策略模式
Le1Yu23 分钟前
订单取消功能(退款功能、策略模式、定时任务)
开发语言
章鱼哥73026 分钟前
Java 策略模式 + 聚合对象:实现多模块的统计与聚合,快速扩展的实战
java·开发语言·策略模式
是店小二呀30 分钟前
openGauss进阶:使用DBeaver可视化管理与实战
开发语言·人工智能·yolo
万粉变现经纪人32 分钟前
如何解决 pip install 编译报错 ‘cl.exe’ not found(缺少 VS C++ 工具集)问题
开发语言·c++·人工智能·python·pycharm·bug·pip
U***e6339 分钟前
JavaScript数据分析
开发语言·javascript·数据分析
h***59331 小时前
SpringBoot中如何手动开启事务
java·spring boot·spring
倚肆1 小时前
Java泛型详解:尖括号<>、通配符?与类型参数T
java