![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java8
今天你学习了么
这个作者很懒,什么都没留下…
展开
-
Java8新特性 - 组合式异步编程
1. Future接口1.1 基本使用基本介绍Future接口的设计初衷是对将来某个时刻会发生的结果进行建模,它建模了一种异步计算,返回一个执行运算结果的引用,当运算结束后,这个引用被返回给调用方基本使用只需要将耗时的操作封装在一个Callable对 象中,再将它提交给ExecutorServiceExecutorService executor = Executors.newCachedThreadPool(); Future<Double> future = executor原创 2020-11-22 11:26:10 · 293 阅读 · 0 评论 -
Java8新特性 - 用Optional取代null
1. 引入Optional为缺失的值建模如何解决空指针异常?public class Person { private Car car; public Car getCar() { return car; } } public class Car { private Insurance insurance; public Insurance getInsurance() { return insurance; } } p原创 2020-11-21 12:03:00 · 269 阅读 · 0 评论 -
Java8新特性 - 默认方法
1. 为什么为接口新增默认方法默认方法的主要目标用 户是类库的设计者,默认方法的引入就是为了以兼容的方式解决像 Java API这样的类库的演进问题的传统上,Java程序的接口是将相关方法按照约定组合到一起的方式。实现接口的类必须为接 口中定义的每个方法提供一个实现,或者从父类中继承它的实现。但是,现存的实体类往往不在 接口设计者的控制范围之内,也就是说一旦类库的设计者需要更新接口,向其中加入新的方法,,他们的实现类为了适配新的接口约定也需要进行修改。由于Java 8的 API在现存的接口上引入了非常原创 2020-11-21 10:53:03 · 93 阅读 · 0 评论 -
Java8新特性 - 并行流
在Java 7之前,并行处理数据集合非常麻烦第一,你得明确地把包含数据的数据结构分成若干子部分第二,你要给每个子部分分配一个独立的线程第三,你需要在恰当的时候 对它们进行同步来避免不希望出现的竞争条件等待所有线程完成,最后把这些部分结果合并起 来Java 7引入了一个叫作分支/合并的框架,让这些操作更稳定、更不易出错Strean流将外部迭代转换为内部迭代,它允许声明性地将顺序流转换为并行流,在幕后使用分支合并框架能透明地进行并行处理1. 使用并行流获取一个并行流是非常简单的,有如下两种方原创 2020-11-20 10:36:29 · 296 阅读 · 0 评论 -
Java8新特性 - stream流
1. lambda表达式1.1 什么是lambdaLambda 表达式有何用处?如何使用?以java为例,可以对一个java变量赋一个值,比如int a = 1,而对于一个方法,一块代码也是赋予给一个变量的,对于这块代码,或者说被赋给变量的函数,就是一个lambda表达式//为变量赋值int a = 1;//将代码块赋值给变量var = public void fun(int x){ x+1;}//可以简化var = (x)->x+1;1.2 java为什么要引入lamb原创 2020-07-13 18:46:35 · 327 阅读 · 1 评论 -
Java8新特性 - lambda
1. java8 中的三种编程思想流处理行为参数化并行与共享的可变数据2. 行为参数化 - 通过参数化传递代码2.1 行为参数化一个方法接受多个不同的行为作为参数,并在内部使用它们,完成不同行为的能力是可以帮助你处理频繁变更的需求的一种软件开发模式传递代码,就是将新行为作为参数传递给方法,但在Java 8之前这实现起来很啰嗦,现在使用lambda表达式编写一个prettyPrintApple方法,它接受一个Apple的List,并可以对它参数化,以多种方式根据苹果生成一个Stri原创 2020-11-19 11:05:18 · 202 阅读 · 0 评论