网站首页 > 精选教程 正文
从 JDK8 到 JDK20 更新了很多新特性,实用性都特别强,极大地提高了编码效率。
虽说不一定有升级版本的需要,但作为程序员,保持学习和更新的态度还是有必要的。
本篇文章,一起来全面了解 JDK8 至 JDK20 版本的新特性。
JDK8 新特性(2014年3月)
JDK8 是 Java 平台的一个重要版本,这个算是主流版本,有很多同学都在使用。
JDK8 中最重要的新特性:
- Lambda 表达式
- 函数式编程
- 接口可以添加默认方法和静态方法,也就是定义不需要实现类实现的方法
- 方法引用
- 重复注解,同一个注解可以使用多次
- 引入 Optional 来避免空指针
- 引入 Streams 相关的 API
- 引入新的 Date/Time 相关的 API
- 新增 jdeps 命令行,来分析类、目录、jar 包的类依赖层级关系
- JVM 使用 MetaSpace 代替了永久代(PermGen Space)
详解篇:JDK8 新特性全面总结(5大最实用新特性及其应用) – Java面试题宝
JDK9 新特性(2017年9月)
- 模块化系统
- 私有接口方法
- JShell REPL
- 改进的 Stream API
- 集合工厂方法
- 进程 API 更新
- HTTP/2 支持
JDK9 主要是对 API 的优化,例如支持 HTTP2 的 Client API、JVM 采用 G1 为默认垃圾收集器。
JDK10 新特性(2018年3月)
- 局部变量类型推断:类似 JS 可以通过 var 来修饰局部变量,编译之后会推断出值的真实类型。
- G1 垃圾回收器的改进:并行 Full GC,来优化 G1 的延迟
- 应用类数据共享
JDK10 主要特性是通过 var 关键字,来实现局部变量类型推断,使 Java 语言变成弱类型语言、JVM 的 G1 垃圾回收由单线程改成多线程并行处理,降低 G1 的停顿时间。
JDK11 新特性(2018年9月)
- 新的 String 方法
- HTTP 客户端 API
- Epsilon 垃圾收集器
- Flight Recorder(飞行记录器),基于 OS、JVM 和 JDK 的事件产生的数据收集框架
- 对 Stream、Optional、集合 API 进行增强
JDK11 主要是对 JDK9 和 JDK10 的完善,对 Stream 、集合等 API 的增强、并且新增了 ZGC 垃圾收集器。
JDK12 新特性(2019年3月)
- Switch 表达式语法扩展
- 新增的 GC 算法:Shenandoah GC
- 新的 String 方法
- Microbenchmark Suite
JDK13新特性(2019年9月)
- Switch 表达式进一步增强
- Text Blocks
- ZGC 垃圾收集器优化
- 引入了文本块
JDK13 主要是对 ZGC 优化,释放内存还给操作系统、socket 底层实现引入 NIO。
JDK14 新特性(2020年3月)
- Records 类
- 二进制数据流
- instanceof 类型匹配语法简化
- NullPointerException 打印优化
JDK15 新特性(2020年9月)
- Sealed 类和接口
- Pattern Matching for instanceof
- Text Blocks 进一步增强
- 隐藏类 hidden class
- 密封类 sealed class
JDK16 新特性(2021年3月)
- Records 进一步增强
- Vector API
- 隐式的 Null 检查
- ZGC 性能优化
- instanceof 模式匹配
JDK16 主要是将 JDK14、JDK15 的一些特性进行了正式的引入。
JDK17 新特性(2021年9月)
- 垃圾回收器接口进一步增强
- Sealed 类和接口进一步增强
- 新的安全特性
- Vector API
JDK17 没有引入比较突出的特性,主要是对前面几个版本的完善。
JDK18 新特性(2022年3月)
- 服务提供者接口
- 简单的 Web 服务器
- 矢量 API
- 代码片段
- 使用方法句柄重新实现核心反射
- 默认为 UTF-8 字符集
- Foreign Function & Memory API (第二孵化器)
- switch 语句的模式匹配(第二次预览)
- 对 finalization 的弃用
JDK19 新特性(2022年9月)
- Record Patterns (Preview) 记录模式
- 外部函数和内存 API
- 虚拟线程(千呼万唤始出来)
- Vector API
- switch 的模式匹配
- 结构化并发编程
13. JDK20 新特性(2023年3月)
- 作用域值(第一次孵化)
- 记录模式(第二次预览)
- switch 模式匹配(第四次预览)
- 外部函数和内存 API(第二次预览)
- 虚拟线程(第二次预览)
- 结构化并发(第二次孵化)
- 向量 API(第五次孵化)
详解篇:Java 20新特性详解(7大核心新特性) Java面试题宝
以上,是对 JDK8 - JDK20 主要新特性的总结,建议收藏备用。
我是爱分享的程序员宝妹儿,谢谢关注 Java面试题宝。
如果觉得不错,请一键三连支持下。
---end---
- 上一篇: Java——永存、曲折、低谷、重生!
- 下一篇: Java 21 新特性的实践,确实很丝滑!
猜你喜欢
- 2025-01-29 2020年Java程序员应该掌握的10个新技术
- 2025-01-29 对JAVA的理解及未来的发展方向(说说你对java的理解)
- 2025-01-29 浅谈 Java 列表(List)的初始化方法
- 2025-01-29 简单了解下JMM解决什么问题(hmm解决的3个问题)
- 2025-01-29 Java 19 的主要新特性和代码演示,虚拟线程
- 2025-01-29 Java 21 新特性的实践,确实很丝滑!
- 2025-01-29 Java——永存、曲折、低谷、重生!
- 2025-01-29 Java 16 正式发布,新特性一一解析
- 2025-01-29 Java 21 新特性和改进(java新特性需要学吗)
- 2025-01-29 java 9新特性 接口方法私有化(java接口可以声明私有成员)
你 发表评论:
欢迎- 07-10动漫人物像|插画 壁纸 头像 签名 素材
- 07-10运动人物|插画 壁纸 头像 签名 素材
- 07-10动漫人物|插画 壁纸 头像 签名 素材
- 07-10神话人物|插画 壁纸 头像 签名 素材
- 07-10日漫人物像|插画 壁纸 头像 签名 素材
- 07-10 日漫人物|插画 壁纸 头像 签名 素材
- 07-10日漫人物风|插画 壁纸 头像 签名 素材
- 07-10日漫人物|插画 壁纸 头像 签名 素材
- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)