JDK11特性

JDK11特性

一、JAVA11 概述

  2018年9月26日,Oracle官方发布JAVA11.这是JAVA大版本周期变化后的第一个长期支持版本,非常值得关注.最新发布的JAVA11将带来ZGC HttpClient等重要特性,一共17个需要我们关注的JEP,参考文档http://openjdk.java.net/projects/jdk/11/

image.png

具体的特性介绍

  • 181:基于嵌套的访问控制
  • 309:动态类文件常量
  • 315:改进Aarch64 Intrinsics
  • 318:Epsilon:一个无操作的垃圾收集器
  • 320:移除Java EE和CORBA模块
  • 321:HTTP客户端(标准)
  • 323:本地变量语法Lambda参数
  • 324:与Curve25519和Curve448的密钥一致
  • 327: Unicode 10
  • 328:飞行记录器
  • 329: ChaCha20和Poly1305密码算法
  • 330:启动单文件源代码程序
  • 331:低开销堆分析
  • 332: TLS (Transport Layer Security) 1.3
  • 333:ZGC:一个可伸缩的低延迟垃圾收集器 (实验)
  • 335:已弃用Nashorn JavaScript引擎
  • 336:已弃用Pack200工具和API

二、语法层次的变化

1. 局部变量类型推断升级

  局部变量类型推断是java10开始新增的新特性,java11中对局部变量推断进行了升级,在var支持添加注解的语法格式,JAVA10中是无法实现的,在JAVA11中加入了这样的语.

lambda表达式中,注解修饰变量的时候,变量的数据类型必须要写,不能省略,像下面这种写法就是错误的

Consumer<String> con =(@Deprecated  t) -> System.out.println(t.toLowerCase());

这个时候就必须要为小括号中的参数添加数据类型,应该这样写

Consumer<String> con =(@Deprecated String t) -> System.out.println(t.toLowerCase());

java11中,lambda表达式中的参数数据类型可以使用var,但是不能不写

Consumer<String> con =(@Deprecated var t) -> System.out.println(t.toLowerCase());

三、API层次的提升

1. String新增的方法

  在JDK11中对String处理新增的很多方法。简化对字符串的操作

描述 举例
判断字符串是否为空白 " ".isBlank(); // true
去除字符串首尾空白 " www.boge.com ".strip(); // “www.boge.com”
去除字符串尾部空格 " www.boge.com “.stripTrailin(); // " www.boge.com”
去除字符串首部空格 " www.boge.com ".stripLeading(); // "www.boge.com "
复制字符串 “boge”.repeat(2);// “bogeboge”
行数统计 “A\nB\nC\nD”.lines().count(); // 4
    public static void main(String[] args) {
   
        // 判断字符串是否为空白
        boolean b = " ".isBlank();// true
        // 去除字符串首尾空白
        String s1 = " www.boge.com ".strip();// "www.boge.com"
        // 去除字符串尾部空格
        String s2 
  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDK 11Java Development Kit (Java 开发工具包) 的一个重要版本,带来了些新特性和改进。以下 JDK 11 的一些主要特性详细说明: 1. HTTP Client API:DK 11 引入了一个新的标 HTTP Client API,提供了更现代和灵活的方式来发送 HTTP 请求和响应。 2. Epsilon 垃圾集器:JDK 11 引入了 Epsilon 垃圾收集器,这是一个无操作的垃圾收集器,适用于性能测试和短期任务,可以避免垃圾回收的开销。 3. 改进的 ZGC 垃圾收集器:JDK 11 中的 ZGC 垃圾收集器经过改进,提供了更低的延迟和更高的可伸缩性,适用于大内存和大规模应用。 4. 改进的 AOT 编译器:JDK 11 中的 AOT(Ahead-of-Time)编译器经过改进,可以在运行时之前将 Java 代码编译为本地机器代码,提高应用程序的启动时间和性能。 5. 单文件源代码启动:JDK 11 允许开发者直接运行单个 Java 源文件,而无需使用独立的编译步骤。 6. 改进的 Lambda 参数类型推断:JDK 11 对 Lambda 表达式的参数类型推断进行了改进,使其更加灵活和直观。 7. Unicode 10 支持:JDK 11 支持 Unicode 10,包括新增的字符和标准。 8. 改进的性能和稳定性:JDK 11 进行了一些性能优化和改进,提高了运行时性能和系统稳定性。 这些只是 JDK 11 中的一些重要特性,还有其他一些改进和优化。希望这些信息对您有所帮助!如有更多问题,请继续提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值