JDK8新特性
简述Java JDK1.8的新特性。包含Lambda、方法引用、4大核心函数式接口、Stream流、新的日期和时间类等等
轻花似梦
这个作者很懒,什么都没留下…
展开
-
Java之JDK1.8新特性七(ForkJoin和注释)
1、Fork-Join框架 1.1 概述 在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不可拆为止)。再将一个个小任务进行运算,最后将小任务运算的结果进行汇总(join)。 虽然在JDK 8之前,就已经有了Fork-Join框架,但是使用不是很方便。 示例代码如下: //需求:计算0~n的累加和,并获取它的执行时间 //自定义ForkJoin任务类(该任务是一个递归任务),...原创 2020-02-25 13:19:10 · 369 阅读 · 0 评论 -
Java之JDK1.8新特性六(新日期和时间)
新时间和日期 Java 8 推出了全新的日期时间API。在Java 8之前,处理日期、时间和日历的方式一直为人所诟病。将Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。全新API的明确了日期时间概念,例如:瞬时(instant)、 长短(duration)、日期、时间、时区和周期。不同于老版本,新API基于ISO-8601标准日历系统,java.time包...原创 2020-02-25 12:38:01 · 657 阅读 · 0 评论 -
Java之JDK1.8新特性五(接口中的默认方法与静态方法)
1、默认方法 1.1 概述 Java 8中允许接口中包含具有具体实现的方法,该方法称为“”默认方法“”,用default关键字修饰 示例代码如下: interface Inter{ void show();//抽象方法 default void method() { System.out.println("默认方法"); } } 1.2 作用 供实现类调用或者实现类重写 1.3 说明 ...原创 2020-02-23 12:53:46 · 285 阅读 · 0 评论 -
Java之JDK1.8新特性四(Optional类)
Optional类 Optional类(java.util.Optional)是一个容器类,可以用来表示一个对象是否存在。 原来用null表示一个对象是否存在,现在Optional可以更好的表达这个概念,并且可以避免空指针异常。 常用方法 static of(T t):创建一个Optional实例 static empty():创建一个空的Optional实例 static ofNullable...原创 2020-02-22 21:35:18 · 183 阅读 · 0 评论 -
Java之JDK1.8新特性一(Lambda)
1、JDK8新特性简介 速度更快:算法的优化(比如HashMap)、底层内存结构的优化(将永久区PremGen变成了元空间MetaSpace) 代码更少(增加了新的语法Lambda表达式) 强大的Stream API 偏于并行 最大化减少空指针异常 Optional tips: 永久区属于堆heap(在jdk1.7之前,heap中分为了2个区:垃圾回收区和永久区);而元空间存储在物理内存上 2...原创 2020-02-19 19:18:16 · 288 阅读 · 0 评论 -
Java之JDK1.8新特性二(方法引用)
方法引用 如果我们在Lambda中所指定的操作方案,在其它地方存在相同方案,那是否还有必要再写重复逻辑? 如果Lambda体中的内容有方法已经实现了,我们可以使用"方法引用" 方法引用分为:方法引用、构造器引用和数组引用 1、方法引用 格式分为5种,分别为: 对象::实例方法名 类::静态方法名 类::实例方法名 super::实例方法名 this::实例方法名 注意: 双冒号 :: 为引用...原创 2020-02-20 15:34:36 · 443 阅读 · 0 评论 -
Java之JDK1.8新特性三(Stream流)
1、Stream流 在jdk1.8之前,以List集合为例,我们可以使用Iterator或普通for循环对集合进行遍历。 但是不论以何种方式进行遍历,都存在有形式主义。 以for为例 for(int i=0;i<list.size;i++){ System.out.println(list.get(i)) } 我们需要获取集合中的每一个元素,需要关注于"做什么"。但是for语句体现的是"...原创 2020-02-21 14:45:37 · 423 阅读 · 0 评论