多语言展示
当前在线:1924今日阅读:103今日分享:49

java jdk1.8新特性

jdk1.8相较于1.7以前有5方面的优化。      1、速度更快      2、代码更少(增加了新的语法Lambda表达式)      3、强大Stream API      4、便于并行      5、最大化减少空指针异常 OPtional
工具/原料
1

电脑

2

intellij IDEA

方法/步骤
1

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

2

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

3

jdk1.8 日期处理1、原始jdk1.0引入 java.lang.util.Date2、jdk1.1后引入Calendar3、引入java.time API且Date新增了toInstant()3.1 主要是借鉴了joda-Time3.2 中包含本地日期LocalDate、本地时间LocalTime、本地日期时间LoaclDateTime、时区ZonedDateTime、持续时间Duration等类。 4、测试日期转换并加减:4.1 dtf是日期格式格式化实体对象4.2 batchDate日期字符串4.3 plusDays对日期加一天4.4 format将日期转为字符串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、其它详细内容请咨询或者参考光放文档

4

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

5

jdk HashMap底层实现1、原有是哈希+数组  经过调整改为 哈希+数组+红黑二叉树使得除添加之外的行能都提高了,特别是查询。2、线程安全的concurrentHashMap底层也进行了优化

6

jdk8新特性:可重复注解

7

jdk8新特性:类型注解

8

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

9

4、Java8中的并行流和顺序流4.1 顺序流 /**     * Java8的顺序流     */    @Test    public void test3() {        Instant start = Instant.now();// java8中新时间日期API                 LongStream.rangeClosed(0, 1L)                    .sequential()// 顺序流                    .reduce(0, Long::sum);                 Instant end = Instant.now();                 // 5780        System.out.println('耗费时间为:' + Duration.between(start, end).toMillis());// java8中新时间日期API    }

10

4.2  并行流 /**     * Java8的并行流     */    @Test    public void test4() {        Instant start = Instant.now();// java8中新时间日期API                 LongStream.rangeClosed(0, 1L)                    .parallel()// 并行流                    .reduce(0, Long::sum);                 Instant end = Instant.now();                 // 2392        System.out.println('耗费时间为:' + Duration.between(start, end).toMillis());// java8中新时间日期API    }

注意事项
1

jdk1.8

2

有需要补充的地方,欢迎万能的网友补充,留言!

推荐信息