logo头像

Aoho's Blog

Java并发工具类:CyclicBarrier和CountDownLatch

当我们启动一个系统的时候需要初始化许多数据,这时候我们可能需要启动很多线程来进行数据的初始化,只有这些系统初始化结束之后才能够启动系统。其实在Java的类库中已经提供了CountDownLatch、CyclicBarrier这3个类来...

Java 8新特性之CompletableFuture(一)

Future自Java 5开始添加了Future,用来描述一个异步计算的结果。获取一个结果时方法较少,要么通过轮询isDone,确认完成后调用get()获取值,要么调用get()设置一个超时时间。但是get()方法会阻塞调用线程,这种...

Java异步编程接口:Callable和Future

Java异步编程接口:Callable和Future

本文主要讲解平时开发中常用的异步编程的接口:Callable和Future。 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。如果需要...

并发编程的锁机制:synchronized和lock

并发编程的锁机制:synchronized和lock

并发编程中,锁是经常需要用到的,今天我们一起来看下Java中的锁机制:synchronized和lock。 1. 锁的种类锁的种类挺多,包括:自旋锁、自旋锁的其他种类、阻塞锁、可重入锁、读写锁、互斥锁、悲观锁、乐观锁、公平锁、可重...

Java 8中的Lambda表达式

2014年3月18日,Oracle公司发布了Java SE 8。距离Java 8的发布已经三年,最近正好抽空整理了Java 8的特性如下: 接口的默认方法 Lambda 表达式 函数式接口 方法与构造函数引用 Lambda 作用域 ...

深入理解Spring IoC(控制反转)

深入理解Spring IoC(控制反转)

IoC(Inversion of Control,控制倒转),是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。所有的类都会在spring容器中登记,告诉s...

设计模式之中介者模式

设计模式之中介者模式

中介者模式属于行为型模式。 中介者模式的定义定义:用一个中介者对象来封装一系列的对象交互。中介者使得各对象不需要显式地相互引用,从而使其松散耦合,而且可以独立地改变它们之间的交互。 在软件开发中,通过提供一个统一的接口让系统不同部分进...

设计模式之命令模式

设计模式之命令模式

命令模式是一种行为模式。 命令模式的定义命令模式是一个高内聚的模式,将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录日志,可以提供命令的撤销和恢复功能。命令模式的核心在于引入了命令类,通过命令类来降低...