Java 11 对比于 Java 8 做了哪些改动,哪些优化

Posted 简简单单OnlineZuozuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 11 对比于 Java 8 做了哪些改动,哪些优化相关的知识,希望对你有一定的参考价值。

Java 11 对比于 Java 8 做了哪些改动,哪些优化


如果觉得本文对你有帮助,可以一键三连支持,谢谢

传送门

Portal ZGC 详细介绍 PDF

Process 新增了关键字 var


var 关键字具有如下特性

- 只能用于局部变量上
- 声明时必须初始化
- 不能用作方法参数
- 不能在 Lambda 表达式中使用
- 支持类型推断

Process 自带了 HTTP Client 模块


  • 支持 HTTP 2 并向下兼容 HTTP 1.1
  • 性能优异

下面是一个简单使用的 Demo

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
      .uri(URI.create("http://openjdk.java.net/"))
      .build();
client.sendAsync(request, BodyHandlers.ofString())
      .thenApply(HttpResponse::body)
      .thenAccept(System.out::println)
      .join();

Process String 处理增强 , 新增了一些常用方法


新增 isBlank 方法用于判空
新增 repeat 方法用于重复字符串内容,拼接新字符串
新增 strip stripLeading stripTrailing 方法用于去除空白字符
新增 lines 方法用于把字符串切割并得到一个 Stream 对象

Process InputStream 增强


新增 transferTo 方法用于把输入流转成输出流

Process 集合处理增强 ,新增了一些常用方法


集合类 List Map Set 新增了 of copyOf 方法

用于创建或者拷贝集合

Process 函数式编程增强 , Stream 支持截止结算


新增了 dropWhiletakeWhile 方法 ,可以支持截止结算

dropWhile,对于有序的stream,从头开始去掉满足条件的元素,一旦遇到不满足元素的就结束

takeWhile,对于有序的stream,从头开始保留满足条件的元素,一旦遇到不满足的元素就结束

其它

1、通过重载iterate方法用于限制无限流范围
2、可以将Optional对象直接转为stream

Optional.of("Hello openJDK11").stream()
        .flatMap(s -> Arrays.stream(s.split(" ")))
        .forEach(System.out::println);

3、可以为Optional对象提供一个默认的Optional对象

System.out.println(Optional.empty()
        .or(() -> Optional.of("default"))
        .get());

Process 文件读写增强 , 支持直接把文件读写为字符串


直接提供了 Files.writeString Files.readString 方法用于读写文件

Process 可以直接运行 Java 文件,而不需要先 Javac


可以直接以命令行 java xxx.java 运行类文件,而不会产生 class 文件

Process Java 11 比 Java 8 性能提升在 15% 以上


  • Epsilon 低开销的垃圾回收器
  • ZGC 可伸缩低延迟垃圾收集器
  • 在 Linux 容器中获得更好的性能 ,来自于 Java 10 ,也兼容 Docker
  • 模块化 ,来自于 Java 9 ,避免了不必要的加载

Process 支持 JShell ,进行交互式编程


通过 JShell ,可以像 Python 那样在命令行进行编程了

Process 其它支持


1、支持 Unicode 10
2、新增了 ChaCha20 ,Poly1305 两种加密算法 ,用以代替 RC4
3、支持 TLS 1.3 协议


参考资料

Reference Resources JDK 11 文档
Reference Resources Java 11 新特性介绍

本文地址 https://wretchant.blog.csdn.net/article/details/117825216
博客地址 https://wretchant.blog.csdn.net/

以上是关于Java 11 对比于 Java 8 做了哪些改动,哪些优化的主要内容,如果未能解决你的问题,请参考以下文章

Java-接口

java商城模板,写的太详细了

java三层架构service,技术详细介绍

只有搞Java开发的才知道!java队列走迷宫

图解java8性能对比_Java 11 究竟比 8 快了多少?

图解java8性能对比_Java 11 究竟比 8 快了多少?