Executor框架使用与分析三

继续介绍Executor框架,第三篇。

第一篇介绍newCachedThreadPool
第二篇介绍newFixedThreadPool

阅读全文

builder设计模式使用与分析

最近工作中,一直使用到builder模式,记录一下。

定义

这个builder设计模式好像不属于四人帮提的23种,但不妨碍它的套路。builder,我的理解是构建。构建什么?构建Model。什么是Model?可以是简单的POJO,也可以是包含复杂业务的Business Model。我这里涉及的是POJO。

阅读全文

Executor框架使用与分析二

继续介绍Executor框架,这是第二篇。

第一篇的基础上,修改Server类的构造函数,使用newFixedThreadPool创建Executor。

1
2
3
4
public Server() {
// executor = (ThreadPoolExecutor) Executors.newCachedThreadPool();
executor = (ThreadPoolExecutor)Executors.newFixedThreadPool(5);
}

阅读全文

Executor框架使用与分析一

介绍Executor框架。

基本框架介绍

顶层接口Executor,ExecutorService继承Executor,AbstractExecutorService继承ExecutorService,ThreadPoolExecutor继承抽象ExecutorService。还有ScheduledThreadPoolExecutor。
Java API还提供的工具类Executors,帮我们创建不同的Executor实现类,针对不同的应用场景。

阅读全文

CyclicBarrier使用与分析

介绍CyclicBarrier使用,以及分析实现原理。

API描述

Java 1.8的API描述,允许一批线程到达一个共同屏障点(common barrier point)。在涉及需要线程需要相互等待的场景,可以考虑CyclicBarrier。屏障机制可以重复使用。

阅读全文

CountDownLatch使用与分析

介绍CountDownLatch,并发流程控制。

概述

看看Java 1.8的API是怎么说的,一种同步机制,允许一个或者线程等待,直到其他线程执行一些操作完成。CountDownLatch基于一个given count,进行初始化,然后调用await方法,阻塞当前线程的流程。直到其他线程执行countDown方法,直至count变为0。那么阻塞线程被唤醒执行。
CountDownLatch中的count不能被重置

阅读全文

Fork/Join框架使用与分析二

上一篇介绍了Fork/Join的无返回任务,并尝试解读源码,发现用了很多巧妙的位运算,理解源码时,比较费劲,放弃源码分析。

样例二

模拟在文档中查找关键字

阅读全文

Fork/Join框架使用与分析

Fork/Join框架,用来解决某些特定任务,而这些任务可以分解成小任务,去执行小任务,合并结果。

样例一

价格更新,mock批量的价格类(Product),然后创建任务Task(继承RecursiveAction),将Task由ForkJoinPool执行,更新价格。

阅读全文

Java中的Queue队列分析

JavaSE中,Collection是非常重要的一部分内容,也是源码看得最多的。江南白衣也更新了它的集合小抄这文章,沿着他的思路,我也整理整理。

阅读全文

SpringCache与Guava结合使用

少废话,上菜。

启动Spring Cache机制

默认情况,使用Spring without configuration方式,我的测试代码在这里。官方讲解Spring Cache在这里

阅读全文