JDK各版本的特性(8~20)

JDK各版本的特性

JDK8新特性(2014-3长期版本)

1、Lambda表达式;
2、函数式编程;
3、接口可以添加默认方法和静态方法,也就是定义不需要实现类实现的方法;
4、方法引用;
5、重复注解;
6、引入Optional来避免空指针;
7、引入Streams相关的流式API;
8、引入新的日期与时间的相关API;
9、新增jdeps命令行,来分析类、目录、jar包的类依赖层级关系;
10、JVM使用元空间(MetaSpace)代替了永久代(PermGen Space)。
11、ConcurrentHashMap、HashMap底层结构变更
重要特性:Lambda表达式、函数式接口、方法引用、Stream流式API、采用元空间(MetaSpace)代替了方法区(PermGen Space)。

JDK9新特性(2017-9)

1、接口方法可以使用private来修饰
2、设置G1为JVM默认垃圾收集器
3、支持http2.0和websocket的API
4、优化String的存储方式,由char数组变更为byte数组。
重要特性:主要是API的优化,如支持HTTP2的Client API、JVM采用G1为默认垃圾收集器

JDK10新特性(2018-3)

1、局部变量类型推断,类似JS可以通过var来修饰局部变量,编译之后会推断出值的真实类型;
2、并行Full GC,来优化G1的延迟;
3、允许在不执行全局VM安全点的情况下执行线程回调,可以停止单个线程,而不需要停止所有线程或不停止线程。
重要特性:通过var关键字实现局部变量类型推断,使Java语言变成弱类型语言、JVM的G1垃圾回收由单线程改成多线程并行处理,降低G1的停顿时间
4、Optional类新增orElseThrow方法
5、新增几个关于集合的API,有助于创建不可变的集合
6、增强型for循环的字节码生成

JDK11新特性(2018-9长期版本)

1、ZGC,ZGC可以看做是G1之上更细粒度的内存管理策略。由于内存的不断分配回收会产生大量的内存碎片空间,因此需要整理策略防止内存空间碎片化,在整理期间需要将对于内存引用的线程逻辑暂停,这个过程被称为"Stop the world"。只有当整理完成后,线程逻辑才可以继续运行。(并行回收ÿ

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDK11更新内容: 1. HTTP Client API 2. 改进的垃圾回收器 3. ZGC: 一种可伸缩的低延迟垃圾回收器 4. Flight Recorder 5. 本地变量类型推断 6. Unicode 10支持 7. 针对低级别内存访问的增强型字节码 8. 针对Lambda表达式和匿名内部类的动态常量 9. 解构声明 10. Nest-based Access Control JDK12更新内容: 1. Switch表达式 2. 垃圾回收器的改进 3. 新增JVM常量API 4. Shenandoah:低停顿垃圾回收器 5. 新增Microbenchmark套件 6. 改进的G1垃圾回收器 JDK13更新内容: 1. 文本块 2. Switch表达式增强 3. ZGC:一种可伸缩的低延迟垃圾回收器 4. 新增JVM警告机制 5. 改进的垃圾回收器 6. 动态CDS档案 7. 静态方法作为默认方法 8. 新增Reimplement the Legacy Socket API JDK14更新内容: 1. Switch表达式增强 2. 正则表达式的增强 3. NUMA-Aware Memory Allocation for G1 4. 垃圾回收器的改进 5. ZGC:一种可伸缩的低延迟垃圾回收器 6. Records:一种简洁的类声明 7. Pattern Matching for instanceof 8. Packaging Tool:一个新的打包工具 JDK15更新内容: 1. 隐式的 null 检查 2. 预览性地支持记录 3. 预览性地支持 switch 表达式 4. 在 Windows 上使用 CDS 的改进 5. ZGC:一种可伸缩的低延迟垃圾回收器 6. 一些新的垃圾回收器 7. Text Blocks:一种新的多行字符串语法 8. 移除 Nashorn JavaScript 引擎 9. 一些新的控制台命令 10. 在 Windows 上使用 CDS 的改进 JDK16更新内容: 1. 增强的垃圾回收器 2. 从 JDK 12 中删除 Nashorn JavaScript 引擎 3. 开放式JDK的根证书 4. Records:一种简洁的类声明 5. Vector API(预览版) 6. 改进的 ZGC 计算模式 JDK17更新内容: 1. 垃圾回收器的改进 2. Vector API 3. Switch表达式增强 4. 预览性地支持Sealed类 5. Windows/Aarch64支持 6. 私有化了jdk.attach模块 7. Pattern Matching for switch (预览版) 8. 改进的ZGC算法 9. 改进的G1垃圾回收器 JDK18更新内容: JDK 18 尚未发布,因此没有更新内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值