线程池
ExecutorService exec = Executors.newFixedThreadPool(100);
优点: 1、任务分配简单,任务少的情况下执行效率高 2、线程不需要控制,操作简单
缺点: 1、当每个任务执行时间很长的时候,占用的内存和cpu较多... 2、线程不需要控制,操作简单
推荐用法: 时间要求高效,每个任务的执行时间短,内存无要求,cpu无要求的情况
标准用法: 使用在要处理的任务不确定和随机的情况下,比如说 socket服务器端
阻塞队列
BlockingQueue<String> queue = new ArrayBlockingQueue<String>(10000);
优点: 1、时间上可以控制和计算,内存要求少,cpu要求小,性能不错..
缺点: 1、多线程,线程不好控制..性能调节需要丰富经验...线程数根据机器性能进行调优
标准用法: 生产者消费者模式...对服务器性能有要求的情况下 比如 客户端的请求....和服务器端的处理,也可以是socket服务器...
本人原创文章 @www.javady.com, 转载请标明出处 http://www.javady.com/index.php/73.html
分享到:
相关推荐
- **并发集合**:详细介绍Java提供的各种并发集合类,如`ConcurrentHashMap`、`CopyOnWriteArrayList`等,并讨论它们适用的场景和优缺点。 #### 四、案例分析 书中通过大量的实际案例分析,帮助读者更好地理解并发...
### Java并发集合 Java并发包还提供了一套专门设计用于多线程环境的集合类,它们包括: - **ConcurrentHashMap**:线程安全的哈希表,提供了高效的并发性能。 - **CopyOnWriteArrayList**:线程安全的列表,适用于...
3. **并发集合**:Java的并发集合类库(如ConcurrentHashMap、CopyOnWriteArrayList等)为多线程环境提供了高效的数据结构。它们在内部实现了线程安全的更新,减少了显式同步的需要。 4. **线程池**:Java Executor...
详细分析Java并发集合LinkedBlockingQueue的用法 Java并发集合LinkedBlockingQueue是Java并发集合中的一种阻塞队列实现,使用链表方式实现的阻塞队列。LinkedBlockingQueue的实现主要包括链表实现、插入和删除节点...
4. **并发集合**:Java集合框架中有一系列为并发设计的类,如`ConcurrentHashMap`、`CopyOnWriteArrayList`等。这些集合在多线程环境下能提供更好的性能和安全性。 5. **并发工具类**:`java.util.concurrent`包中...
书中介绍了多种实现线程同步的方法,包括synchronized关键字、显式锁(`Lock`接口)、读写锁(`ReadWriteLock`)等,并分析了它们各自的优缺点和适用场景。 ### 高级并发工具 为了简化并发编程的复杂性,Java提供了...
最后,作者可能会介绍一些高级主题,如并发集合框架(ConcurrentHashMap、CopyOnWriteArrayList等)的设计和使用,这些集合在多线程环境下提供了高性能和线程安全的保证。此外,Java并发编程的最佳实践和常见陷阱也...
- 同步方法与块的使用场景及优缺点。 - 不同类型的锁(如ReentrantLock)以及它们的工作原理。 4. **并发数据结构与容器** - 原子变量(AtomicVariables)的作用及其应用场景。 - 线程安全的集合类(如...
### JAVA三大框架优缺点 #### 一、Struts框架优缺点 **优点:** 1. **实现MVC模式,结构清晰:** Struts框架通过分离模型(Model)、视图(View)与控制器(Controller),使得应用程序结构更加清晰,开发者可以...
1. **concurrent**:这是JUC库的主要部分,提供了线程池、同步容器、并发集合等类。例如: - `ExecutorService`和`ThreadPoolExecutor`:它们构成了线程池的基础,允许开发者有效地管理和调度线程,避免过度创建...
"深入Java集合学习系列(三):ArrayList实现原理_尚硅谷_张晓飞.pdf"可能是重复的,但再次强调ArrayList的实现原理:ArrayList的线程安全性较差,如果在并发环境下操作,需要配合synchronized关键字或者使用并发集合...
以上只是Java并发编程面试题中的一部分关键知识点,实际面试可能会涉及更多细节,包括但不限于线程池的工作原理、并发工具类的使用(如Semaphore、CountDownLatch)、并发集合类的特性、线程安全的实现策略等。...
2. 线程创建:通过实现Runnable接口和继承Thread类两种方式创建线程,对比优缺点。 3. 线程同步:深入理解synchronized关键字,包括锁的概念,以及锁在方法和代码块上的应用。 4. volatile关键字:了解其在多线程...
Java的线程池是Java并发编程中的重要工具,通过合理管理和调度线程,可以有效地提高系统的并行性能和资源利用率。这份资料可能详细讲解了Executor框架,如何创建和配置线程池,以及如何处理线程间的协作与通信。理解...
ArrayList、LinkedList、HashSet、HashMap等是常用的数据结构,它们各有优缺点,根据具体需求选择合适的集合类型可以提升代码的效率。此外,了解ConcurrentHashMap等并发安全的集合对于处理多线程环境下的数据存储...
下面我们将深入探讨SSH框架的优缺点。 **一、Struts2** Struts2是基于MVC设计模式的Web应用框架,它继承了Struts1的优点并解决了其不足。其主要优点包括: 1. **灵活的拦截器机制**:Struts2使用拦截器来处理请求,...
### Java:信息、使用技巧和优缺点 #### 信息概览 Java 作为一种跨平台、面向对象的编程语言,自1995年由 Sun Microsystems(现已成为 Oracle Corporation 的一部分)推出以来,在全球范围内获得了广泛的应用和支持...
2. 在Java中使用数组和集合有什么不同的场景和优缺点? 3. 如何选择使用ArrayList还是LinkedList? 4. Set集合如何保证元素的唯一性? 5. Map接口的实现类有什么区别,以及各自的应用场景是什么? 6. 在多线程环境下...