摘要: 自JDK 1.5 开始,JDK提供了ScheduledThreadPoolExecutor类用于计划任务(又称定时任务),这个类有两个用途: 在给定的延迟之后运行任务 周期性重复执行任务 在这之前,是使用Timer类来完成定时任务的,但是Timer有缺陷: Timer是单线程模式; 如果在执行任务期 阅读全文
posted @ 2021-02-04 11:01 jingdy 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 一、Java 8 Stream简介 从Java 8 开始,我们可以使用Stream接口以及lambda表达式进行“流式计算”。它可以让我们对集合的操作更加简洁、更加可读、更加高效。 Stream接口有非常多用于集合计算的方法,比如判空操作empty、过滤操作filter、求最max值、查找操作fin 阅读全文
posted @ 2021-02-04 10:50 jingdy 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 一、什么是Fork/Join Fork/Join框架是一个实现了ExecutorService接口的多线程处理器,它专为那些可以通过递归分解成更细小的任务而设计,最大化的利用多核处理器来提高应用程序的性能。 与其他ExecutorService相关的实现相同的是,Fork/Join框架会将任务分配给 阅读全文
posted @ 2021-02-04 10:43 jingdy 阅读(113) 评论(0) 推荐(0) 编辑
摘要: JDK中提供了一些工具类以供开发者使用。这样的话我们在遇到一些常见的应用场景时就可以使用这些工具类,而不用自己再重复造轮子了。 它们都在java.util.concurrent包下。先总体概括一下都有哪些工具类,它们有什么作用,然后再分别介绍它们的主要使用方法和原理。 类作用 Semaphore 限 阅读全文
posted @ 2021-02-04 10:29 jingdy 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 16.1 什么是CopyOnWrite容器 在说到CopyOnWrite容器之前我们先来谈谈什么是CopyOnWrite机制,CopyOnWrite是计算机设计领域中的一种优化策略,也是一种在并发场景下常用的设计思想——写入时复制思想。 那什么是写入时复制思想呢?就是当有多个调用者同时去请求一个资源 阅读全文
posted @ 2021-02-04 09:35 jingdy 阅读(109) 评论(0) 推荐(0) 编辑