java并发面试题(一)基础
来源:互联网 发布:网络电话卡骗局 编辑:程序博客网 时间:2024/05/11 12:55
本文整理了常见的Java并发面试题,希望对大家面试有所帮助,欢迎大家互相交流。
多线程
- java中有几种方法可以实现一个线程?
- 如何停止一个正在运行的线程?
- notify()和notifyAll()有什么区别?
- sleep()和 wait()有什么区别?
- 什么是Daemon线程?它有什么意义?
- java如何实现多线程之间的通讯和协作?
锁
- 什么是可重入锁(ReentrantLock)?
- 当一个线程进入某个对象的一个synchronized的实例方法后,其它线程是否可进入此对象的其它方法?
- synchronized和java.util.concurrent.locks.Lock的异同?
- 乐观锁和悲观锁的理解及如何实现,有哪些实现方式?
并发框架
- SynchronizedMap和ConcurrentHashMap有什么区别?
- CopyOnWriteArrayList可以用于什么应用场景?
线程安全
- 什么叫线程安全?servlet是线程安全吗?
- 同步有几种实现方法?
- volatile有什么用?能否用一句话说明下volatile的应用场景?
- 请说明下java的内存模型及其工作流程。
- 为什么代码会重排序?
1.JVM的通讯方式有哪些?比如一个大项目,可能需要部署在多台机器上,在这些机器上的JVM如何进行通讯,如何传递讯息。
2.比如我有一个数组数据,我如何快速找出,这个数据内有哪些数据,需要去除重复的数据。
3.对于同一张表,如何使用Java并发访问这张表的数据?
2.比如我有一个数组数据,我如何快速找出,这个数据内有哪些数据,需要去除重复的数据。
3.对于同一张表,如何使用Java并发访问这张表的数据?
本文列出了在工作中会用到的并发编程的实战问题,大家可以一起交流下,在回复中给出答案。
并发容器和框架
- 如何让一段程序并发的执行,并最终汇总结果?
- 如何合理的配置java线程池?如CPU密集型的任务,基本线程池应该配置多大?IO密集型的任务,基本线程池应该配置多大?用有界队列好还是无界队列好?任务非常多的时候,使用什么阻塞队列能获取最好的吞吐量?
- 如何使用阻塞队列实现一个生产者和消费者模型?请写代码。
- 多读少写的场景应该使用哪个并发容器,为什么使用它?比如你做了一个搜索引擎,搜索引擎每次搜索前需要判断搜索关键词是否在黑名单里,黑名单每天更新一次。
Java中的锁
- 如何实现乐观锁(CAS)?如何避免ABA问题?
- 读写锁可以用于什么应用场景?
- 什么时候应该使用可重入锁?
- 什么场景下可以使用volatile替换synchronized?
并发工具
- 如何实现一个流控程序,用于控制请求的调用次数?
答案
可以阅读以下参考资料,知道答案后可以在回复中交流
- Java线程池的分析和使用 Java线程池(第二题)
- 原子操作的实现原理 (锁 第一题)
- Java中的读写锁(锁 第二题)
- 如何设计客户端流控程序 (并发工具 第一题)
- java并发面试题(一)基础
- java并发面试题(一)基础
- Java并发面试题(一)基础
- java并发面试题(一)基础
- java并发面试题(一)-基础
- Java面试题一(基础)
- Java面试题一(基础)
- Java基础面试题 (一)
- JAVA多线程和并发基础面试题
- JAVA多线程和并发基础面试题
- JAVA多线程和并发基础面试题
- Java多线程高并发基础面试题
- JAVA多线程和并发基础面试题
- java多线程和并发基础面试题
- JAVA多线程和并发基础面试题
- JAVA多线程和并发基础面试题
- Java多线程并发基础面试题回答
- JAVA多线程和并发基础面试题
- Google Play和基于Feature的过滤
- Eclipse中添加MyEclipse插件
- poj 2155 Matrix (二维树状数组)
- regmap使用介绍
- C# 透明窗体制作方法比较(1)
- java并发面试题(一)基础
- 构造函数私有化
- C# 透明窗体制作方法比较(2)
- 字串转换 字符串处理转换 正数减法
- HDU3746-KMP循环节
- 简单的程序诠释C++ STL算法系列: find & find_if
- Listview的onItemClickListener无法响应的解决方法
- linux内核驱动模块的编译及加载
- 什么是Android?