容器平台和 边缘计算 持续增长,为全球的主要网络和应用程序提供动力,Java技术已经发展出新的功能和改进性能,以与现代基础设施相匹配。Java 17(OpenJDK 17)具有以下主要功能:
——还原始终严格的 浮点 语义
——增强型 伪随机数 生成器
——强封装JDK内部
—— 交换机 的模式匹配(预览)
——外部函数和内存API(孵化)
——Vector API(孵化)
——特定于上下文的反序列化过滤器
开发人员想知道如何开始使用Java 17的新功能实现应用程序逻辑,然后在同一个OpenJDK 17运行时构建并运行它们。幸运的是,Quarkus使开发人员能够用Java 17构建一个新的应用程序。它还提供了实时编码功能,允许开发人员只关注实现业务逻辑,而不是编译、构建、部署和重新启动运行时以应用代码更改。
注意:如果尚未安装OpenJDK 17,请在操作系统上下载 二进制 文件。
本教程教你在Quarkus上使用Java 17的伪随机数生成器(PRNG)算法。通过使用Quarkus命令行工具(CLI)搭建新项目开始:
$ quarkus create app prng-example -- Java =17
输出如下所示:
...
[SUCCESS] ✅ quarkus project has been successfully generated in:
--> /Users/danieloh/quarkus-demo/prng-example
...
与传统Java框架不同,Quarkus提供实时编码功能,供开发人员在代码更改时重建和部署。最后,这种功能加速了Java开发人员的内部循环开发。使用开发模式运行Quarkus应用程序:
$ cd prng-example
$ quarkus dev
输出如下所示:
...
INFO [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
INFO [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, resteasy, smallrye-context-propagation, vertx]
--
Tests paused
Press [r] to resume testing, [o] Toggle test output, [:] for the terminal , [h] for more options>
Java 17使开发人员能够基于Xoshiro256PlusPlus PRNG算法生成特定范围内的随机整数。将以下代码添加到src/main/java/org/acme目录中的hello()方法中:
RandomGenerator randomGenerator =
RandomGeneratorFactory.of("Xoshiro256PlusPlus").create(999);
for ( int i = 0; i < 10 ; i++) {
int result = randomGenerator.nextInt(11);
System.out.println(result);
}
接下来,调用RESTful API(/hello)以确认生成了随机整数。在本地终端中执行以下cURL命令行,或使用web浏览器访问端点URL:
$ curl localhost:8080/hello
返回运行Quarkus开发模式的终端。在这里,你将看到以下十个随机数:
4
6
9
5
7
6
5
0
6
10
注意:你根本不需要重建代码并重新启动Java运行时。你还将在运行curl命令行的终端中看到Hello RESTEasy的输出。
总结
本文展示Quarkus如何允许开发人员基于OpenJDK 17启动新的应用程序开发。此外,Quarkus通过实时编码提高了开发人员的生产力。对于生产部署,开发人员可以基于OpenJDK 17和GraalVM生成本机 可执行文件 。