java基础:CompletionStage接口
CompletionStage是Java8新增接口,用于异步执行中的阶段处理:先看接口
可以简单划分为三类:
1.在上一阶段执行结束之后,一阶段结果作为指定函数的参数执行函数产生新的结果,apply/combine,接口参数为Bi/Function类型
2.在上一阶段执行结束之后,一阶段结果作为指定函数的参数执行函数,accept方法,接口参数为Bi/Consumer类型
3.在上一阶段执行结束之后,不依赖一阶段执行结果,执行指定的操作,run方法,接口参数为Runnable类型
关键词:
apply:上阶段结果作下阶段参数继续执行并返回结果
accept:上阶段结果作下阶段参数继续执行不返回结果
run:上阶段执行完比下阶段执行
async:异步执行,指定或者不指定线程池
both:前两阶段同时执行完毕执行下一阶段
either:前两阶段任一执行完毕执行下一阶段
combine:类似apply,但下一阶段执行的必须是BiFunction
compose:基于上阶段的执行完状态,执行下一阶段
complete:基于上阶段的执行完状态和结果,消费其结果
handler:基于上阶段的执行完状态和结果,消费其正常或者异常结果
exceptionally:消费异常结果
第一类接口:
第二类接口:
第三类接口:
其他接口:
java基础:CompletionStage接口的更多相关文章
- Java基础十--接口
Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...
- Java基础-面向接口(interface)编程
Java基础-面向接口(interface)编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的“类 ...
- 【Java基础】接口和抽象类之间的对比
Java 中的接口和抽象类之间的对比 一.接口 Interface,将其翻译成插座可能就更好理解了.我们通常利用接口来定义实现类的行为,当你将插座上连接笔记本的三角插头拔掉,换成微波炉插上去的时候,你 ...
- JAVA基础之接口
接口 学习完框架之后,整合SSM过程中对于接口的认识加深了许多.根据<java核心技术>这本书进一步研究了一下. 1.概念 java核心技术是这样说的:"在Java程序设计中,接 ...
- Java基础10 接口的继承与抽象类
链接地址:http://www.cnblogs.com/vamei/archive/2013/03/31/2982240.html 作者:Vamei 出处:http://www.cnblogs.com ...
- Java基础10 接口的继承与抽象类(转载)
接口继承 接口继承(inheritance)与类继承很类似,就是以被继承的interface为基础,增添新增的接口方法原型.比如,我们以Cup作为原interface: interface Cup{ ...
- java基础(11):接口、多态
1. 接口 1.1 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成. ...
- Java基础之接口与抽象类及多态、内部类
final关键字 被其修饰的类,不能被继承. 被其修饰的方法,不能被覆盖. 被其修饰的变量,是一个常量,不能被修改,所以定义时必须初始化(和C++的const类似). 一般有final,会搭配stat ...
- java基础之接口(抽象类与接口的区别)
概述 猫狗案例,我们想想狗一般就是看门,猫一般就是作为宠物了,对不.但是,现在有很多的驯养员或者是驯的,这应该属于经过特殊的培训训练出来的,对不.所以,这些额外的动作定义到动物类中就不合适,也不适合直 ...
- Java基础——collection接口
一.Collection接口的定义 public interfaceCollection<E>extends iterable<E> 从接口的定义中可以发现,此接口使用了泛型 ...
随机推荐
- 微服务从nacos配置中心获得配置信息
一,安装nacos, 略 二,创建父工程和微服务工程 service1, service2,以idea为例 1, new -> project -> Maven -> 填写group ...
- 项目 git 仓库允许服务器访问
我们 deployer 的运行机制是从 git 或者其它你指定的代码库 clone 代码到目标服务器,所以如果你的代码不是公开的仓库,我们通常需要添加 SSH 公钥才可以从代码库 clone 代码,所 ...
- laravel 验证码 auth方式登录 中间件判断session是否存在
首先下载laravel的插件 composer下载 实现验证码 composer require mews/captcha 在config/app.php进行配置 'providers' ...
- vue+uni-app商城实战 | 第一篇:【有来小店】微信小程序快速开发接入Spring Cloud OAuth2认证中心完成授权登录
一. 前言 本篇通过实战来讲述如何使用uni-app快速进行商城微信小程序的开发以及小程序如何接入后台Spring Cloud微服务. 有来商城 youlai-mall 项目是一套全栈商城系统,技术栈 ...
- Spring框架中获取连接池常用的四种方式
1:DBCP数据源 DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池,所 ...
- C语言之 判断语句基础与if语句反汇编
0x01.判断语句介绍以及用法 判断语句有哪些? 1.If 用法1: if (条件) { //代码块 } 当条件成立,也就是为True时,执行{}中的代码 用法2: if(条件) { //代码块 } ...
- drf 路由生成
前言 在drf中,我们写接口可以通过继承modelViewSet从而达到非常快速的功能实现,这十分的方便,但是modelViewSet由于需要根据不同的参数来对应不同的处理,所以我们写的url最少都需 ...
- 水题挑战3: NOIP 2017 宝藏
参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 \(n\) 个深埋在地下的宝藏屋, 也给出了这 \(n\) 个宝藏屋之间可供开发的 \(m\) 条道路和它们的长度. 小明决心亲自前往挖掘所有宝藏屋 ...
- pip install kaggle 出现 【网络不可达】?
解决办法: pip install kaggle -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
- numpy的统计分析
一.排序 间接排序(argsort,lexsort) 根据一个或多个数据集进行排序 1.Sort() --对数值直接进行排序 a.一维排序 b.二维排序 c.axis的认知 2.argsort() - ...