Java8的新特性
文章平均质量分 83
Java8的新特性
是茜茜qianqian呀
这个作者很懒,什么都没留下…
展开
-
Java8的新特性--新时间日期API
目录一、简单介绍二、常见用法示例2.1 LocalDateTime、 LocalDate、 LocalTime2.1.1 获取当前时间2.1.2 时间日期的比较和运算判断2.1.3 时间日期的转换2.2 Instant 时间戳2.3 ZoneId2.5 Duration、Period 计算时间间隔2.6 TemporalAdjuster 时间矫正器Java8提供了一套全新的日期时间API,都位于java.time包下,这个包涵盖了所有处理日期date、时间time、日期/时间dateTime、时区zo原创 2021-03-26 12:45:01 · 233 阅读 · 0 评论 -
Java8的新特性--传统时间格式化的多线程安全问题
目录传统日期时间格式化的多线程安全问题写在前面为什么要有新的时间API传统日期时间格式的线程不安全问题Java8中全新的日期时间API传统日期时间格式化的多线程安全问题写在前面我们回顾一下,在我们Java8之前,我们想要操作时间,是使用传统的日期时间API即Date这个类,而在Java8中新增了LocalTime、LocalDate和LocalDateTime,日期和时间的处理变得更加方便和容易。为什么要有新的时间API1、JDK1.0 版本中,我们经常用的Date方法里很多方法都弃用了,标注了原创 2021-03-22 20:12:23 · 759 阅读 · 0 评论 -
Java8的新特性--接口中的默认方法与静态方法
目录接口中的默认方法与静态方法写在前面默认方法静态方法接口中的默认方法与静态方法写在前面在Java8之前,接口没有任何具体的实现。《JAVA编程思想》中是这样描述的:“interface这个关键字产生了一个完全抽象的类,它根本就没有提供任何具体的实现。它允许创建者确定方法名、参数列表和返回类型,但是没有任何方法体。接口只提供一种形式,而为提供任何具体的实现”。但是在Java8中,对接口做了很大的的改动,接口中允许定义默认方法和静态方法了。默认方法以前接口中只能有全局静态常量和抽象方法,现原创 2021-03-19 16:45:04 · 145 阅读 · 0 评论 -
Java8的新特性--Optional
目录Optional一、Optional类是什么?二、Optional类常用的方法1. 创建Optional实例1.1 Optional.of(T)1.2 Optional.empty()1.3. Optional.ofNullable(T t)1.4. 小结2.访问Optional对象的值2.1 get()获取值2.2 isPresent()验证是否有值2.3 ifPresent()3. 返回默认值3.1 orElse(T t)3.2 orElseGet(Supplier s)3.3 orElse(T t原创 2021-03-17 08:22:13 · 386 阅读 · 0 评论 -
Java8的新特性--并行流与串行流
目录写在前面Fork/Join框架Fork/Join框架与传统线程池的区别传统的线程池:Fork/Join框架:Fork/Join框架的使用Java8中的并行流写在前面我们都知道,在开发中有时候要想提高程序的效率,可以使用多线程去并行处理。而Java8的速度变快了,这个速度变快的原因中,很重要的一点就是Java8提供了并行方法,它使得我们的程序很容易就能切换成多线程,从而更好的利用CPU资源。下面我们就来简单学习一下java8中得并行流与串行流。并行流就是把一个内容分成多个数据块,并用不同的线程分原创 2021-03-15 08:01:09 · 357 阅读 · 0 评论 -
Java8的新特性--Stream API
目录Stream是什么Stream操作的三个步骤1. 创建Stream1.1 通过Collection集合1.2 通过数组Arrays通过Stream流中的of()方法来创建1.3 创建无限流2. 中间操作2.1 筛选与切片2.1.1 filter(Predicate p)2.1.2 limit(long maxSize)2.1.3 skip(long n)2.1.4 distinct()2.2 映射2.2.1 map(Function f)2.2.2 flatMap(Function f)2.3 排序3.原创 2021-03-13 14:07:48 · 141 阅读 · 0 评论 -
Java8的新特性--方法引用与构造器引用
目录方法引用对象::实例方法名类::静态方法名类::实例方法名构造器引用数组引用# 方法引用与构造器引用## 使用场景如果要传递给Lambda方法体的内容,已经有方法实现了,这时我们就可以使用“方法引用”了。我们也可以理解为,方法引用是Lambda表达式的另一种表现形式方法引用注意使用方法引用的前提:你需要实现的接口中的抽象方法的参数列表和返回值类型与我们Lambda体中当前调用的方法的参数列表和返回值类型保持一致方法引用主要有三种语法格式:对象::实例方法名 /** * 对象原创 2021-03-08 08:17:52 · 84 阅读 · 0 评论 -
Java8的新特性--函数式接口
目录函数式接口什么是函数式接口函数式接口的使用Java8内置的四大核心函数式接口一、Consumer:消费型接口(void accept(T t))二、Supplier:供给型接口(T get())三、Function : 函数型接口(R apply(T t))四、Predicate:断言型接口(boolean test(T t))五、其他类型的一些函数式接口总结函数式接口Lambda表达式需要接口的支持,并且接口的抽象方法还只能有一个,要么没法区分实现的是哪一个抽象方法了。因此Lambda表达式需要原创 2021-03-07 10:33:12 · 120 阅读 · 1 评论 -
Java8的新特性--Lambda表达式
目录Lambda表达式Lambda表达式介绍为什么使用Lambda表达式优化方式一:策略模式优化方法二:匿名内部类优化方式三:Lambda表达式优化方式四:Stream APILambda表达式的基础语法语法格式一:无参无返回值语法格式二:有一个参数并且无返回值语法格式三:若有一个参数,小括号可以省略不写语法格式四:有两个及以上参数,并且Lambda体中有多条语句语法格式五:当Lambda体中只有一条语句时,return和大括号都可以省略不写语法格式六:Lambda表达式中的参数列表的数据类型可以省略不写,原创 2021-03-06 19:18:31 · 231 阅读 · 1 评论 -
Java8简介
Java8简介写在前面Java8新特性简介速度更快代码更少(增加了新的语法Lambda表达式)强大的Stream API便于并行最大化减少空指针异常Optional总结写在前面之所以现在才开这个专栏,是因为之前学过,平时工作中也在用,但是总觉得用着不那么顺手,所以决定再来学一遍,然后记录下来,方便回顾。Java8新特性简介速度更快更新了底层的数据结构底层数据结构最核心的就是HashMap,下面以HashMap为例来说明:java7底层数据结构是数组加链表java8开始底层数据结构原创 2021-03-06 00:13:29 · 442 阅读 · 2 评论