企业真题

谈谈 Java8 新特性

来源:京?旗下、时代?宇、信必?、招?信诺、中?外包、金?软件、阿??巴、惠?、久?国际物流、银?科技

  • Lambda 表达式、Stream API、Optional
  • JDK7 的对比:元空间、HashMap、新的日期时间 API、接口变化等。

JDK1.8 在数据结构上发生了哪些变化?

来源:银?数据

使用元空间替代永久代:

  • 方法区:JVM 规范中提到的结构
  • HotSpot 来讲,JDK7 方法区的落地体现:永久代;JDK8 方法区的落地体现:元空间。

HashMap 底层结构

JDK1.8 用的是哪个垃圾回收器?

来源:O??O

Parallel GC

JDK9:默认使用 G1GC -> ZGC(低延迟)

Lambda 表达式有了解吗,说说如何使用的

来源:O??O、国?

完全面向对象语言想要满足函数式编程,只是语法糖(型似,底层仍是面向对象)

什么是函数式接口?有几种函数式接口

来源:阿??巴

java.util.function 包下定义了丰富的好函数式接口。有 4 类基础的函数式接口:

  1. 消费型接口:Consumer<T> void accept(T t)
  2. 供给型接口:Supplier<T> T get()
  3. 函数型接口:Function<T,R> R apply(T t)
  4. 判断型接口:Predicate<T> boolean test(T t)

四大核心函数式接口

创建 Stream 的方式

来源:阿??巴

创建 Stream 实例

你讲讲 Stream 表达式是咋用的,干啥的?

来源:中?国际、上海??网络

  • Stream API 关注的是多个数据的计算(排序、查找、过滤、映射、遍历等),面向 CPU 的(计算)
  • 集合关注的数据的存储,面向内存的(存储)
  • Stream API 之于集合,类似于 SQL 之于数据表的查询

集合用 Stream 流怎么实现过滤?

来源:润?软件、惠?

filter(Predicate predicate)

说说 JDK15、JDK16、JDK17 中的新特性都有什么?

来源:银?数据