网站不备案做优化网站上传用什么软件做视频格式
网站不备案做优化,网站上传用什么软件做视频格式,衡阳专业seo公司,药品网站建设存在的问题不学前沿技术与朽木浮草何异 #xff1f;Java18新特性 文章目录 不学前沿技术与朽木浮草何异 #xff1f;Java18新特性JEP 400:默认字符集为 UTF-8JEP 408:简易的 Web 服务器JEP 413:优化 Java API 文档中的代码片段JEP 416:使用方法句柄重新实现反射核心JEP 417: 向量 APIJava18新特性 文章目录 不学前沿技术与朽木浮草何异 Java18新特性JEP 400:默认字符集为 UTF-8JEP 408:简易的 Web 服务器JEP 413:优化 Java API 文档中的代码片段JEP 416:使用方法句柄重新实现反射核心JEP 417: 向量 API第三次孵化JEP 418:互联网地址解析 SPIJEP 419:Foreign Function Memory API第二次孵化 Java 18 在 2022 年 3 月 22 日正式发布非长期支持版本。 Java 18 带来了 9 个新特性
JEP 400:UTF-8 by Default默认字符集为 UTF-8JEP 408:Simple Web Server简易的 Web 服务器JEP 413:Code Snippets in Java API DocumentationJava API 文档中的代码片段JEP 416:Reimplement Core Reflection with Method Handles使用方法句柄重新实现反射核心JEP 417:Vector向量 API第三次孵化JEP 418:Internet-Address Resolution互联网地址解析SPIJEP 419:Foreign Function Memory API外部函数和内存 API第二次孵化JEP 420:Pattern Matching for switchswitch 模式匹配第二次预览JEP 421:Deprecate Finalization for Removal
Java 17 中包含 14 个特性Java 16 中包含 17 个特性Java 15 中包含 14 个特性Java 14 中包含 16 个特性。相比于前面发布的版本来说Java 18 的新特性少了很多。
这里只对 400、408、413、416、417、418、419 这几个我觉得比较重要的新特性进行详细介绍。
相关阅读
OpenJDK Java 18 文档IntelliJ IDEA | Java 18 功能支持
JEP 400:默认字符集为 UTF-8
JDK 终于将 UTF-8 设置为默认字符集。
在 Java 17 及更早版本中默认字符集是在 Java 虚拟机运行时才确定的取决于不同的操作系统、区域设置等因素因此存在潜在的风险。就比如说你在 Mac 上运行正常的一段打印文字到控制台的 Java 程序到了 Windows 上就会出现乱码如果你不手动更改字符集的话。
JEP 408:简易的 Web 服务器
Java 18 之后你可以使用 jwebserver 命令启动一个简易的静态 Web 服务器。
$ jwebserver
Binding to loopback by default. For all interfaces use -b 0.0.0.0 or -b ::.
Serving /cwd and subdirectories on 127.0.0.1 port 8000
URL: http://127.0.0.1:8000/这个服务器不支持 CGI 和 Servlet只限于静态文件。
JEP 413:优化 Java API 文档中的代码片段
在 Java 18 之前如果我们想要在 Javadoc 中引入代码片段可以使用 pre{code ...}/pre 。
pre{codelines of source code
}/prepre{code ...}/pre 这种方式生成的效果比较一般。
在 Java 18 之后可以通过 snippet 标签来做这件事情。
/*** The following code shows how to use {code Optional.isPresent}:* {snippet :* if (v.isPresent()) {* System.out.println(v: v.get());* }* }*/snippet 这种方式生成的效果更好且使用起来更方便一些。
JEP 416:使用方法句柄重新实现反射核心
Java 18 改进了 java.lang.reflect.Method、Constructor 的实现逻辑使之性能更好速度更快。这项改动不会改动相关 API 这意味着开发中不需要改动反射相关代码就可以体验到性能更好反射。
OpenJDK 官方给出了新老实现的反射性能基准测试结果。 JEP 417: 向量 API第三次孵化
向量Vector API 最初由 JEP 338 提出并作为孵化 API集成到 Java 16 中。第二轮孵化由 JEP 414 提出并集成到 Java 17 中第三轮孵化由 JEP 417 提出并集成到 Java 18 中第四轮由 JEP 426 提出并集成到了 Java 19 中。
向量计算由对向量的一系列操作组成。向量 API 用来表达向量计算该计算可以在运行时可靠地编译为支持的 CPU 架构上的最佳向量指令从而实现优于等效标量计算的性能。
向量 API 的目标是为用户提供简洁易用且与平台无关的表达范围广泛的向量计算。
这是对数组元素的简单标量计算
void scalarComputation(float[] a, float[] b, float[] c) {for (int i 0; i a.length; i) {c[i] (a[i] * a[i] b[i] * b[i]) * -1.0f;}
}这是使用 Vector API 进行的等效向量计算
static final VectorSpeciesFloat SPECIES FloatVector.SPECIES_PREFERRED;void vectorComputation(float[] a, float[] b, float[] c) {int i 0;int upperBound SPECIES.loopBound(a.length);for (; i upperBound; i SPECIES.length()) {// FloatVector va, vb, vc;var va FloatVector.fromArray(SPECIES, a, i);var vb FloatVector.fromArray(SPECIES, b, i);var vc va.mul(va).add(vb.mul(vb)).neg();vc.intoArray(c, i);}for (; i a.length; i) {c[i] (a[i] * a[i] b[i] * b[i]) * -1.0f;}
}
在 JDK 18 中向量 API 的性能得到了进一步的优化。
JEP 418:互联网地址解析 SPI
Java 18 定义了一个全新的 SPIservice-provider interface用于主要名称和地址的解析以便 java.net.InetAddress 可以使用平台之外的第三方解析器。
JEP 419:Foreign Function Memory API第二次孵化
Java 程序可以通过该 API 与 Java 运行时之外的代码和数据进行互操作。通过高效地调用外部函数即 JVM 之外的代码和安全地访问外部内存即不受 JVM 管理的内存该 API 使 Java 程序能够调用本机库并处理本机数据而不会像 JNI 那样危险和脆弱。
外部函数和内存 API 在 Java 17 中进行了第一轮孵化由 JEP 412 提出。第二轮孵化由JEP 419 提出并集成到了 Java 18 中预览由 JEP 424 提出并集成到了 Java 19 中。
在 Java 19 新特性概览 中我有详细介绍到外部函数和内存 API这里就不再做额外的介绍了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91595.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!