Java并发面试题(二)实战
2015-08-15 22:19
344 查看
并发容器和框架
如何让一段程序并发的执行,并最终汇总结果?如何合理的配置java线程池?如CPU密集型的任务,基本线程池应该配置多大?IO密集型的任务,基本线程池应该配置多大?用有界队列好还是无界队列好?任务非常多的时候,使用什么阻塞队列能获取最好的吞吐量?
如何使用阻塞队列实现一个生产者和消费者模型?请写代码。
多读少写的场景应该使用哪个并发容器,为什么使用它?比如你做了一个搜索引擎,搜索引擎每次搜索前需要判断搜索关键词是否在黑名单里,黑名单每天更新一次。
Java中的锁
如何实现乐观锁(CAS)?如何避免ABA问题?读写锁可以用于什么应用场景?
什么时候应该使用可重入锁?
什么场景下可以使用volatile替换synchronized?
并发工具
如何实现一个流控程序,用于控制请求的调用次数?答案
可以阅读以下参考资料,知道答案后可以在回复中交流Java线程池的分析和使用
Java线程池(第二题)
原子操作的实现原理 (锁 第一题)
Java中的读写锁(锁 第二题)
如何设计客户端流控程序 (并发工具 第一题)
转载自并发编程网 – ifeve.com
相关文章推荐
- 可执行文件的装载与进程的一点小总结 《程序员的自我修养》·笔记
- Java并发面试题(一)基础
- 黑马程序员-Java高级:反射
- 黑马程序员----IO流(其他)
- 黑马程序员----IO流(File类)
- 黑马程序员 异常
- 黑马程序员——Java概述
- 黑马程序员----IO流(字符流、字节流、转换流)
- 杭州之行
- 黑马程序员----静态(static)
- 黑马程序员----类加载器(ClassLoader)
- 笔试面试错题集2
- 黑马程序员一一封装,继承,多态的一个基本概述
- 黑马程序员——Java基础03
- 9个Java初始化和回收的面试题
- 黑马程序员——IO流与File类
- 黑马程序员 内部类
- 黑马程序员-----java基础之数组及堆和栈
- 黑马程序员----集合(Map)
- 黑马程序员----集合(Collection)