第18章:随堂复习与企业真题(JDK8-17新特性)

第18章:随堂复习与企业真题(JDK8-17新特性)


一、随堂复习

1. JDK新特性的概述

  • 几个重要的版本

    • jdk 5.0 / jdk 8.0 :里程碑式的版本
    • jdk9.0 开始每6个月发布一个新的版本
    • LTS : jdk8 、 jdk 11 、 jdk 17
  • 如何学习新特性

> 角度1:新的语法规则 (多关注)自动装箱、自动拆箱、注解、enum、Lambda表达式、方法引用、switch表达式、try-catch变化、record等> 角度2:增加、过时、删除APIStringBuilder、ArrayList、新的日期时间的API、Optional等> 角度3:底层的优化、JVM参数的调整、GC的变化、内存结构(永久代--->元空间)

2. JDK8:lambda表达式

2.1 什么情况下可以使用lambda表达式
  • 在给函数式接口提供实例时,都可以考虑使用lambda表达式。
  • 基本语法的使用(重要)
2.2 函数式接口
  • 常见的函数式接口。Comparator \ Runnable \ java.util.function下定义的丰富的函数式接口

    消费型接口: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新特性(京*旗下、时代*宇,信必*、招*信诺,中*外包,金*软件、阿**巴)
类似问题
> JDK1.8相较于JDK1.7有什么不一样?(惠*)
> JDK1.8的新特性有哪些?Stream API + Lambda表达式,还有吗?(久*国际物流)
  • 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)
类似问题:
> Lambda的理解(国*)

2. 什么是函数式接口?有几种函数式接口(阿**巴)

略。

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

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

2.3 Stream API

1. 创建Stream的方式(阿**巴)

三种。

2. 你讲讲stream表达式是咋用的,干啥的?(中*国际,上海**网络)
> Stream API 关注的是多个数据的计算(排序、查找、过滤、映射、遍历等),面向CPU的。集合关注的数据的存储,面向内存的。
> Stream API 之于集合,类似于SQL之于数据表的查询。
3. 集合用Stream流怎么实现过滤?(润*软件)

filter(Predicate predicate)

4. 用Stream怎么选出List里想要的数据?(惠*)

2.4 其它版本新特性

1. 说说JDK15、JDK16、JDK17中的新特性都有什么?(银*数据)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/207635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android安全学习路标

1. Android操作系统基础知识 首先&#xff0c;你需要建立坚实的Android操作系统基础知识&#xff0c;包括Android架构、进程和内存管理、应用组件和权限模型等基本概念。 2. 安全防范理论 学习关于安全防范理论的基础知识&#xff0c;包括常见的威胁模型、攻击类型和安全风险…

Python-猜数字游戏

&#x1f388; 博主&#xff1a;一只程序猿子 &#x1f388; 博客主页&#xff1a;一只程序猿子 博客主页 &#x1f388; 个人介绍&#xff1a;爱好(bushi)编程&#xff01; &#x1f388; 创作不易&#xff1a;喜欢的话麻烦您点个&#x1f44d;和⭐&#xff01; &#x1f388;…

免费的AI改写文案软件,热门AI改写文案软件【2024】

在数字化时代&#xff0c;文案创作变得更为便捷&#xff0c;其中AI改写文案软件的兴起为写作者们带来了全新的创作体验。这些工具通过智能算法和自然语言处理技术&#xff0c;能够快速改写文本&#xff0c;提高创作效率。本文将深入探讨AI改写文案软件的现状&#xff0c;介绍一…

LeetCode题:174. 地下城游戏

目录 一、题目要求 二、解题思路 &#xff08;1&#xff09;状态表示 &#xff08;2&#xff09;状态转移方程 &#xff08;3&#xff09;初始化dp表 &#xff08;4&#xff09;填表顺序 &#xff08;5&#xff09;返回值 三、代码 一、题目要求 174. 地下城游戏 恶魔们…

swagger入门

swagger入门 pom依赖 不用专门导入swagger 因为springboot已经将它集成了 org.springframework.boot spring-boot-starter com.github.xiaoymin knife4j-spring-boot-starter Swagger配置类 Configuration public class SwaggerConfig { // 创建并配置Docket Bean&#xf…

snakeyaml编辑yaml文件并覆盖注释

文章目录 前言技术积累实战演示1、引入maven依赖2、覆盖注释工具类3、snakeyaml工具类4、测试用例5、测试效果展示 写在最后 前言 最近在做一个动态整合框架的项目&#xff0c;需要根据需求动态组装各个功能模块。其中就涉及到了在application.yaml中加入其他模块的配置&#…

TCP传输层详解(计算机网络复习)

介绍&#xff1a;TCP/IP包含了一系列的协议&#xff0c;也叫TCP/IP协议族&#xff0c;简称TCP/IP。该协议族提供了点对点的连接机制&#xff0c;并将传输数据帧的封装、寻址、传输、路由以及接收方式都予以标准化 TCP/IP的分层模型 在讲TCP/IP协议之前&#xff0c;首先介绍一…

力扣贪心题解 跳跃游戏

55. 跳跃游戏 - 力扣&#xff08;LeetCode&#xff09; 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b…

信息系统开发方法

企业信息系统对于企业信息化的重要意义是不言而喻的。从实际运行的效果来看&#xff0c;有些信息系统运行得很成功&#xff0c;取得了巨大的经济效益和社会效益&#xff1b;但也有些信息系统效果并不显著&#xff0c;甚至还有个别信息系统开始时还能正常运行&#xff0c;可时间…

广州数字孪生赋能工业制造,加速推进制造业数字化转型

广州数字孪生赋能工业制造&#xff0c;加速推进制造业数字化转型。数字孪生系统基于历史数据、实时数据&#xff0c;采用人工智能、大数据分析等新一代信息技术对物理实体的组成、特征、功能和性能进行数字化定义和建模。通过构建在信息世界对物理实体的等价映射&#xff0c;对…

Axure官方软件安装、汉化保姆级教程(带官方资源下载)

1.下载汉化包 百度云链接&#xff1a;https://pan.baidu.com/s/1lluobjjBZvitASMt8e0A_w?pwdjqxn 提取码&#xff1a; jqxn 2.解压压缩包 3.安装Axure 进行安装 点击next 打勾&#xff0c;然后next, 默认是c盘&#xff0c;修改成自己的文件夹&#xff08;不要什么都放c盘里…

RestTemplate硬编码的使用

RestTemplate是由Spring框架提供的一个可用于应用中调用rest服务的类它简化了与http服务的通信方式&#xff0c;统一了RESTFul的标准&#xff0c;封装了http连接&#xff0c;我们只需要传入url及其返回值类型即可。相较于之前常用的HttpClient&#xff0c;RestTemplate是一种更…

API测试基础之http协议

http简介&#xff1a; http&#xff08;超文本传输协议&#xff09;是一个简单的请求-响应协议&#xff0c;它通常运行在TCP&#xff08;传输控制协议&#xff09;之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出…

远程控制如何赋能智能制造?贝锐向日葵制造业场景案例解析

随着数字化转型在制造业的不断深入&#xff0c;企业在产线端也逐渐投入更多智能化设备&#xff0c;数字化、智能化设备其中一个比较显著的优势就是可以依托互联网实现远程运维和调试&#xff0c;大大提升产线设备的稳定性和工作效率&#xff1b;而远程调试运维一个重要的实现方…

人工智能原理复习--搜索策略(一)

文章目录 上一篇搜索概述一般图搜索盲目搜索下一篇 上一篇 人工智能原理复习–确定性推理 搜索概述 问题求解分为两大类&#xff1a;知识贫乏系统&#xff08;依靠搜索技术解决&#xff09;、知识丰富系统&#xff08;依靠推理技术&#xff09; 两大类搜索技术&#xff1a; …

海思3516DV500下的目标识别算法运行评估,包含yolov7,yolov8

目前在3516DV500下&#xff0c;自己训练的模型的评估实测结果。根据实际模型会有些许差异。 涉及到技术细节的部分因为商业用途&#xff0c;有部分省略。如需相关技术服务项目合作可私信联系。 我司推出的目标识别跟踪模块&#xff0c;支持热红外、可见光主流多光谱视频输入与目…

WeiPHP 微信开发平台 SQL注入漏洞复现

0x01 产品简介 weiphp 是一个开源,高效,简洁的微信开发平台,基于 oneThink 内容管理框架实现。 0x02 漏洞概述 weiphp 微信开发平台 _send_by_group、 wp_where、 get_package_template等接口处存在 SQL 注入漏洞,攻击者利用此漏洞可获取数据库中的信息(例如,管理员后台…

三数组最小距离:2020年408算法题

算法思想 算法实现 #define INT_MAX 0x7fffffff //c语言int类型最大值 //计算绝对值 int abs(int a){if(a<0) return -a;else return a; } //判断a是否为3个数中最小值 bool isMin(int a,int b,int c){if(a<b&&a<c) return true;return false; }//主函数 in…

RepidJson中Writer类、FilewriteStream类、 PrettyWriter类的区别

rapidjson是一个C的JSON解析库&#xff0c;可以用于解析和序列化JSON数据。 Writer是rapidjson中一种基本的输出流&#xff0c;用于将JSON数据输出到字符串或文件中。 FileWriteStream是一个Writer的子类&#xff0c;它专门用于将JSON数据输出到文件中。相比于普通的Writer&a…

平台工程文化:软件开发的创新路径和协作之道

在快速发展的软件开发领域&#xff0c;具有前瞻性思维的企业组织正在拥抱平台工程文化的变革力量。这种创新方法强调创建共享平台、工具和实践&#xff0c;使开发人员能够更快、更高效地交付高质量的软件。在本文中&#xff0c;我们将深入探讨平台工程文化的核心原则和深远的好…