并发工具类的同步器插图

并发工具类的同步器

2020年7月24日

本文介绍JDK中并发工具类的各种同步器,倒计时门闩(countdown latch)、同步屏障(cyclic barrier)、交换器(exchanger)、信号量(semaphore)以及phaser同步器。

关于join()的一个小坑插图

关于join()的一个小坑

2020年7月15日

如果子线程中要进行比较耗时的运算,并且希望主线程等待子线程执行完毕之后再执行,那么就可以使用join()方法.

通过管道进行线程间通信插图

通过管道进行线程间通信

2020年7月15日

管道流(pipeStream)是一种特殊的流,用于在不同线程间直接传送数据。一个线程发送数据到输出管道,另一个线程从输入管道中读数据。

回顾经典:生产者与消费者模式插图

回顾经典:生产者与消费者模式

2020年7月15日

等待/通知模式最经典的案例就是“生产者/消费者”模式。但此模式在使用上有几种“变形”,但原理上都是基于wati/notify的。

线程通信基础:wait和notify插图

线程通信基础:wait和notify

2020年7月13日

wait和notify方法是线程通信的基础,它们都只能在同步方法或同步块中使用。

volatile关键字与内存模型插图

volatile关键字与内存模型

2020年7月4日

对volatile关键字的理解,与java的内存模型的概念是分不开的。volatile保证了变量操作的可见性和有序性,但是有使用场景的限制。

设计模式之适配器模式插图

设计模式之适配器模式

2020年7月3日

所谓适配器,其实就是在不得不调用某个底层接口规范, 但出于某些需要又必须声明自己专属的接口规范的时候,可以声明一个对象实现自己的接口、同时又调用到该底层接口, 该对象即是适配器。

设计模式之责任链模式插图

设计模式之责任链模式

2020年7月2日

在责任链模式里,一个对象表示链的一个节点,由多个节点对象组成了一条有先后顺序的链对象。有些链对象内部会维护一个数组,来存储这些节点对象,有些则是在每个节点中声明下个节点的引用。

设计模式之装饰模式插图

设计模式之装饰模式

2020年7月1日

装饰模式(Decorator Pattern)是一种比较常见的模式,动态地给一个对象添加一些额外的职责。tomcat源码中RequestFacade就是对Request的装饰类。

设计模式之观察者模式插图

设计模式之观察者模式

2020年7月1日

观察者模式主要分为两个主体:观察者和通知者,在某些行为触发时,通知者将会通知观察者。观察者需要将自己的对象交给通知者,以便通知者能够调用观察者的方法,进行通知行为。

设计模式之模板方法模式插图

设计模式之模板方法模式

2020年7月1日

模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。