JAVA基础
文章平均质量分 84
akaks0
这个作者很懒,什么都没留下…
展开
-
JAVA线程池类Executors的使用
Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。转载 2017-05-03 21:45:15 · 327 阅读 · 0 评论 -
线程池类ThreadPoolExecutor介绍
ThreadPoolExecutor是线程池技术中比较重要的类,提供管理任务执行,线程调度,线程池管理等等服务; ThreadPoolExecutor类可设置的参数主要有: corePoolSize: 核心线程数,核心线程会一直存活,即使没有任务需要处理。当线程数小于核心线程数时,即使现有的线程空闲,线程池也会优先创建新线程来处理任务,而不是直接交给现有的线程处理。核心原创 2017-05-07 18:21:01 · 272 阅读 · 0 评论 -
ArrayList<String> 转化为String数组,报错java.lang.ClassCastException
ArrayList 转化为String数组: String[] phones = (String[]) list.toArray(); 报错:java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String; 改为如下代码即可: String[] phones = list.to原创 2017-10-30 19:21:41 · 1542 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模...转载 2018-07-31 16:45:10 · 181 阅读 · 0 评论 -
多线程与死锁
死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。 产生死锁的原因: 一.因为系统资源不足。 二.进程运行推进的顺序不合适。 三.资源分配不当。 10.如何才能产生死锁 产生死锁的四个必要条件: 一.互斥条件:所谓互斥就是进程在某一时间内独占资源。 二.请求与保持条件:一个进程...原创 2018-08-15 13:27:35 · 184 阅读 · 0 评论