当前位置: 首页 > 教程 > Java13 >

Java13 介绍

精华
小牛编辑
229浏览
2023-03-14

Java 13 是一个主要功能版本,它为 JAVA 带来了许多特定于 JVM 的更改,而很少有特定于语言的更改。它遵循 Java 发布日程推出 Java 10,并于 2019 年 9 月发布,距 Java 12 发布仅六个月。

Java 13 是非 LTS 版本。

Java13的新功能

以下是 Java 13 中引入的主要新功能。

  • JEP 354 : Switch Expressions - 允许 switch 通过 yield 使用返回值的预览功能。

  • JEP 355 : 文本块- 一种预览功能,可轻松处理 JSON、XML 等多行字符串。

  • 字符串新方法: 添加到字符串以处理文本块的新方法。

  • JEP 353 : Socket API 重新实现- 底层 API 被重写。

  • FileSystems.newFileSystem() : 添加了三个新方法以使其易于使用。

  • DOM/SAX 工厂: 添加了新方法以添加命名空间支持。

  • 动态 CDS 存档: 可以轻松创建 CDS 存档。

  • JEP 351 : ZGC 增强- ZGC 增强以将未使用的堆内存返回给操作系统。

Java 13 使用新方法和选项增强了许多 API。我们将在下一章中看到这些变化。

最后更新:

类似资料

  • Java 13 重新实现了 Java Socket API。旧的 Socket API,如java.net.Socket和java.net.ServerSocket已被替换。 PlainSocketImpl 不再使用,现在 Socket API 提供程序指向 NioSocketImpl。 新的实现利用 java.nio 基础设施来实现更好的并发性和 I/O 控制。 新实现向后兼容使用旧实现的代码。

  • ZGC 或 Z 垃圾收集器是在 Java 11 中引入的,作为一种低延迟垃圾收集机制。ZGC 确保垃圾收集暂停时间不依赖于堆大小。无论堆大小是 2MB 还是 2GB,它都不会超过 10 毫秒。 但是 ZGC 在将未使用的堆内存返回给操作系统方面存在限制,例如 G1 和 Shenandoah 等其他 HotSpot VM GC。以下是使用 Java 13 完成的增强功能: ZGC 默认将未提交的内存

  • 主要内容:Java13 文本块的示例Java 13 引入了文本块来处理多行字符串,如 JSON/XML/HTML 等。它是一个预览功能。 文本块允许在不使用 \r\n 的情况下轻松编写多行字符串。 文本块字符串具有与字符串相同的方法,如 contains()、indexOf() 和 length() 函数。 Java13 文本块的示例 ApiTester.java 编译并运行程序 输出结果为  

  • 主要内容:API 标记为删除Java 13 向 java.nio.file.FileSystems 引入了三种新方法,可以轻松地将文件内容视为文件系统。 newFileSystem(Path) newFileSystem(Path, Map<String, ?>) newFileSystem(Path, Map<String, ?>, ClassLoader) 以下是添加到语言的其他主要更改。 java.time : 添加了

  • 主要内容:Java13 Switch表达式的示例Java 12 将表达式引入 Switch 语句并将其作为预览功能发布。Java 13 添加了一个新的 yield 构造来从 switch 语句返回一个值。它仍然是一个预览功能。 Java13 Switch表达式的示例 ApiTester.java 编译并运行程序 输出结果为  

  • 主要内容:Java13 动态CDS存档的示例CDS,类数据共享是 JVM 的一个重要特性,用于提高应用程序加载的启动时间。由于它允许跨不同的 JVM 共享类元数据,因此减少了启动时间和内存占用。Java 10 通过提供 AppCDS 增强了 CDS,应用程序 CDS 使开发人员可以访问将应用程序类包含在共享存档中。Java 12 将 CDS 存档设置为默认值。 但是创建 CDS 的过程很乏味,因为开发人员必须通过多次试验他们的应用程序来创建

开发工具