您的位置首页百科问答

java jdk1.8新特性

java jdk1.8新特性

的有关信息介绍如下:

java jdk1.8新特性

jdk1.8相较于1.7以前有5方面的优化。

1、速度更快

2、代码更少(增加了新的语法Lambda表达式)

3、强大Stream API

4、便于并行

5、最大化减少空指针异常 OPtional

Lambda表达式

可以直接参考:java jdk1.8新特性Lambda表达式

2java jdk1.8新特性Lambda表达式

Stream API

可以直接参考:java jdk1.8新特性Stream API

2java jdk1.8新特性Stream API

jdk1.8 日期处理

1、原始jdk1.0引入 java.lang.util.Date

2、jdk1.1后引入Calendar

3、引入java.time API且Date新增了toInstant()

3.1 主要是借鉴了joda-Time

3.2 中包含本地日期LocalDate、本地时间LocalTime、本地日期时间LoaclDateTime、时区ZonedDateTime、持续时间Duration等类。

4、测试日期转换并加减:

4.1 dtf是日期格式格式化实体对象

4.2 batchDate日期字符串

4.3plusDays对日期加一天

4.4format将日期转为字符串

import java.time.LocalDate;import java.time.format.DateTimeFormatter;

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd");

String batchDateStr = LocalDate.parse(batchDate, dtf).plusDays(1).format(dtf);

LocalDateTime lt = LocalDateTime.now();

5、其它详细内容请咨询或者参考光放文档

ForkJoin 框架

在jdk1.7之前就已经存在,但是没有大规模应用

jdk HashMap底层实现

1、原有是哈希+数组 经过调整改为 哈希+数组+红黑二叉树使得除添加之外的行能都提高了,特别是查询。

2、线程安全的concurrentHashMap底层也进行了优化

jdk8新特性:可重复注解

jdk8新特性:类型注解

https://blog.csdn.net/lu930124/article/details/77595585

4、Java8中的并行流和顺序流

4.1顺序流

/**

* Java8的顺序流

*/

@Test

publicvoidtest3() {

Instant start = Instant.now();// java8中新时间日期API

LongStream.rangeClosed(0, 10000000000L)

.sequential()// 顺序流

.reduce(0, Long::sum);

Instant end = Instant.now();

// 5780

System.out.println("耗费时间为:"+ Duration.between(start, end).toMillis());// java8中新时间日期API

}

4.2并行流

/**

* Java8的并行流

*/

@Test

publicvoidtest4() {

Instant start = Instant.now();// java8中新时间日期API

LongStream.rangeClosed(0, 10000000000L)

.parallel()// 并行流

.reduce(0, Long::sum);

Instant end = Instant.now();

// 2392

System.out.println("耗费时间为:"+ Duration.between(start, end).toMillis());// java8中新时间日期API

}