第18章:随堂复习与企业真题(JDK8-17新特性)
第18章:随堂复习与企业真题(JDK8-17新特性)
一、随堂复习
1. JDK新特性的概述
几个重要的版本
- jdk 5.0 / jdk 8.0 :里程碑式的版本
- jdk9.0 开始每6个月发布一个新的版本
- LTS : jdk8 、 jdk 11 、 jdk 17
如何学习新特性
1 | > 角度1:新的语法规则 (多关注) |
2. JDK8:lambda表达式
2.1 什么情况下可以使用lambda表达式
- 在给函数式接口提供实例时,都可以考虑使用lambda表达式。
- 基本语法的使用(重要)
2.2 函数式接口
常见的函数式接口。Comparator \ Runnable \ java.util.function下定义的丰富的函数式接口
1
2
3
4消费型接口:Consumer<T> void accept(T t)
供给型接口:Supplier<T> T get()
函数型接口:Function<T,R> R apply(T t)
判断型接口:Predicate<T> boolean test(T t)
2.3 方法引用、构造器引用、数组引用
方法引用、构造器引用、数组引用:看做是lambda表达式的进一步刻画、表达。
(掌握)方法引用、构造器引用、数组引用的使用场景。
3. JDK8:Stream API的使用
- Stream关注于内存中的多个数据的运算。
- 使用步骤:① Stream 的实例化 ② 一系列的中间操作 ③ 终止操作
4. JDK8之后的新特性:语法层面
- jShell工具
- try-catch结构的变化。try(…){ }
- 局部变量的类型推断:var
- instanceof的模式匹配
- switch表达式、switch的模式匹配
- 文本块的使用:”””文本块”””
- 新的引用数据类型:record (记录)
- 密封类:sealed class
5. JDK8之后的新特性:其它
- Optional类的使用
- 其他:了解
二、企业真题
2.1 JDK8新特性
1. 谈谈java8新特性(京*旗下、时代*宇,信必*、招*信诺,中*外包,金*软件、阿**巴)
1 | 类似问题 |
- lambda表达式、Stream API
- jdk7的对比:元空间、HashMap、新的日期时间API、接口变化等。
2. JDK1.8在数据结构上发生了哪些变化 ?(银*数据)
- 使用元空间替代永久代。 (方法区:jvm规范中提到的结构。
- HotSpot来讲,jdk7:方法区的落地体现:永久代。 jdk8:方法区的落地体现:元空间。
- HashMap底层结构
3. 你说的了解 Java的新特性 ,你说说JDK8改进的地方?(银*科技)
略
4. JDK1.8用的是哪个垃圾回收器?(O**O)
Parallel GC –> jdk9:默认使用G1GC –> ZGC (低延迟)
2.2 Lambda表达式
1. Lambda表达式有了解吗,说说如何使用的(O**O)
1 | 类似问题: |
略
2. 什么是函数式接口?有几种函数式接口(阿**巴)
略。
java.util.function包下定义了丰富的好函数式接口。有4类基础的函数式接口:
消费型接口:Consumer
供给型接口:Supplier
函数型接口:Function<T,R> R apply(T t)
判断型接口:Predicate
2.3 Stream API
1. 创建Stream的方式(阿**巴)
三种。
2. 你讲讲stream表达式是咋用的,干啥的?(中*国际,上海**网络)
1 | > Stream API 关注的是多个数据的计算(排序、查找、过滤、映射、遍历等),面向CPU的。 |
3. 集合用Stream流怎么实现过滤?(润*软件)
filter(Predicate predicate)
4. 用Stream怎么选出List里想要的数据?(惠*)
略
2.4 其它版本新特性
1. 说说JDK15、JDK16、JDK17中的新特性都有什么?(银*数据)
略