摘要:
1、 runAsync 和 supplyAsync方法 CompletableFuture 提供了四个静态方法来创建一个异步操作。 public static CompletableFuture<Void> runAsync(Runnable runnable) public static Comp 阅读全文
摘要:
1、 runAsync 和 supplyAsync方法 CompletableFuture 提供了四个静态方法来创建一个异步操作。 public static CompletableFuture<Void> runAsync(Runnable runnable) public static Comp 阅读全文
摘要:
假如我有一个订单相关的统计接口,需要返回3样数据:今日订单数、今日交易额、总交易额。 一般的我们的做法是串行调用3个函数,把调用返回的结果返回给调用者,这3次调用时串行执行的,如果每个调用耗时1秒的话,3次调用总耗时就是3秒。 这种做法效率非常低,因为3次调用之间无所谓先后顺序,所以采用并行执行效率 阅读全文
摘要:
前言 很久很久很久很久....没有写技术向的文章了,今天呢就来写一篇关于单元测试的文章把。写这篇文章的原因呢是因为几个月前看到隔壁组的同事写的单元测试,当场就被惊艳了。第一次发现原来单元测试还可以这么写,相比之下我以前写的那堆测试简直是恶心自己用的。于是好好研究了一番他们项目组使用的JUnit5,总 阅读全文
摘要:
从Junit5开始,对参数化测试支持进行了大幅度的改进和提升。下面我们就一起来详细看看Junit5参数化测试的方法。 部署和依赖 和Junit4相比,Junit5框架更多在向测试平台演进。其核心组成也从以前的一个Junit的jar包更换成由多个模块组成。本文所需要依赖模块如下: junit-jupi 阅读全文
摘要:
1、 lambda表达式的基础语法 lambda表达式因为是一个匿名方法,因此可以不用关心方法的名字是什么。 实际上,在设计lambda表达式的时候,返回值是什么也不需要我们关心。我们需要关心的只有两部分: 参数 和 方法体 参数 -> 方法体 是lambda表达式的最基础的语法,在语法中,使用符号 阅读全文
摘要:
近日发现一个巨好用的插件(SequenceDiagram),迫不及待的跟大家分享一下。 1. 功能简介 生成简单序列图。 单击图形形状来导航代码。 从图中删除类。 将图表导出为图像。 通过“设置”>“其他设置”>“序列”从图表中排除类 智能接口(实验) 2. 使用方法 生成序列图 生成序列图.gif 阅读全文
摘要:
Lambda表达式优于匿名类 在 Java 8 中,添加了函数式接口, lambda 表达式和方法引用,以便更容易地创建函数对象。今天我们就来聊聊 lambda 表达式。 Lambda表达式的前世 匿名类 以往,使用单一抽象方法的接口被用作函数类型。 它们的实例表示函数(functions)或行动( 阅读全文
摘要:
一、概述 Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stre 阅读全文
摘要:
特性 jdk8中使用了::的用法。就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下,双冒号运算就是Java中的[方法引用],[方法引用]的格式是: 类名::方法名 注意此处没有()。 案例: 表达式: person -> person.getAge(); 使 阅读全文
摘要:
好的企业文化应该是一个动词,而不是形容词,回想自己第一份工作,在百度的6年时间内,收获最大的三个企业文化中,CC邮件抄送文化排在第二位。 CC是发邮件时抄送的功能,工作中通过邮件发送给对方一个信息,一个会议纪要时,不光发给具体的某个同学,还要抄送到他所在团队的邮件组,以及自己所在团队的邮件组。说到底 阅读全文
|