- Java线程的状态有哪些?
- 状态迁移大概是怎样的?wait()、sleep()、LockSupport.lock、synchronized、lock.lock()执行之后对应的锁状态是哪些?
- 如何实现线程通讯?
- Callable和Runnable的区别?
- interrupt()方法怎么中断的线程?如何响应中断?
- CPU的三级缓存模型是怎么样的?
- 什么是JMM工作模型?为什么要这样去划分工作内存和共享内存?
- 并发的三个特性是什么?什么叫做可见性?什么叫做有序性?
- 指令重排是什么?
- 如何禁止指令重排?
- volatile的底层实现原理是什么?
- 什么是mesi缓存一致性协议?
- synchronized有哪些用法?static方法锁的是什么?
- synchronized在jdk高版本有什么优化?
- 什么叫轻量级锁?
- 什么叫偏向锁?偏向锁的过程?
- 什么叫自旋锁?
- 上边这几种锁的适用场景?
- synchronized的底层实现原理是什么?什么是Monitor对象?
- wait()方法和notify()方法为什么一定要在synchronized区域中调用。
- 锁竞争的过程,竞争失败会怎样,如何被唤醒?
- 什么是用户态和内核态?为什么线程上下文切换会是开销大的操作?
- 可重入锁ReentrantLock和synchronized的区别?
- 如果利用AQS实现的可重入锁?
- AQS内部原理?
- 怎么实现的公平锁?
- 怎么实现的锁超时等待?
- 怎么实现的加锁失败在队列中等待?
- Conditional怎么在AQS中实现?
- AQS还有哪些应用?
- JUC这个包常用什么?怎么看待JUC这个包的结构?能分几层?
- 有哪些阻塞队列?
- CAS是什么?
- 以AtomicInteger为例,怎么依赖CAS实现?UnSafe怎么在其中使用的?
- CAS的ABA问题是什么?如何解决?
- UnSafe还在哪用到了?
- 线程池的工作原理?
- 线程池核心参数?
- 为什么要自己实现线程池参数而不用Executors工具类?
- 怎么对线程池进行监控?
- submit和execute方法有什么区别,在异常处理方面有什么区别?
- FutureTask怎么实现的?如何实现get阻塞等待的?怎么实现cancel的?
- 线程池核心线程数量大小选择?
- 线程池如何实现线程退出的?
- 线程池的优点?
- 线程池如何优雅关闭?
- 线程死锁怎么排查的?
- 生产者消费者模型
- CountDownLatch、Semaphore、CyclicBarrier都什么作用?用在什么场景?
- CompletableFuture怎么使用?使用有什么注意点吗?
- Future和CompletableFuture区别,怎么实现非阻塞的获取结果异步回调的?
- ThreadLocal实现原理?
- ThreadLocal和Thread的关系?
- ThreadLocal使用场景有哪些?
- ThreadLocal会内存泄漏吗?
- ThreadLocalMap怎么解决hash碰撞的?
- ThreadLocalMap怎么删除无用元素的?
- ThreadLocalMap内部结构
- 为什么ThreadLocal的引用是WeakedHashMap?
- ThreadLocal怎么跨线程引用?
- 了解ThredLocal的扩展吗?比如Netty的FastThreadLocal?
- 什么是ForkJoin?什么是工作窃取算法?
- Stream的原理是什么?Stream并行流怎么实现的?
- HashMap put流程?
- 为什么HashMap负载因子是0.75?
- HashMap数据结构是什么样的?
- 为什么要采用红黑树?
- 描述一下红黑树的结构?
- 为什么长度是2的整数次幂?
- HashMap是线程安全的吗?HashTable呢?
- HashMap线程不安全的点在哪?
- 扩容的时候为什么会发生死循环?
- ConcurrentHashMap怎么实现的线程安全?
- ConcurrentHashMap1.7和1.8的区别?
- ConcurrentHashMap size()操作怎么计算的?一定会加锁吗?
- ArrayList扩容机制是什么?
- LinkedList和ArrayList适用于什么场景?
- LinkedList是双向链表吗?
- 线程安全的List或者Set有哪些?
- HashSet怎么实现的?
- CopyOnWrite机制适合于什么场景?
- LongAdder怎么实现更高的效率?
- 了解过无锁队列Disputor吗?原理是什么?
并发编程面试题总结
-------------本文结束感谢您的阅读-------------
本文标题:并发编程面试题总结
文章作者:夸克
发布时间:2021年09月22日 - 10:09
最后更新:2022年07月02日 - 04:07
原始链接:https://zhanglijun1217.github.io/2021/09/22/并发编程面试题总结/
许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。