问题标签 [java-17]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
82 浏览

java - 我们如何在现实生活中使用 strictfp 方法?

这个问题不是这个问题的重复。我知道strictfpjava中的关键字就是用于这个目的。但是我们如何在现实生活中使用它。它的优点是什么?

0 投票
1 回答
42 浏览

java - 如何获取 SSLHostConfig?

我能够获得父连接器

而且我不想读取 server.xml 以防它不同步。如何获得 SSLHostConfig ?

0 投票
4 回答
9493 浏览

java - OpenJDK Java 17 泊坞窗图像

我们正在升级 docker 中的微服务以使用 Java 17,之前我们使用基础镜像 openjdk:11-jre-slim。Java 17 对应的图像是什么?

好像没有openjdk:17-jre-slim?事实上,似乎没有任何最近的 jre 图像 - 只是 jdks。11-jre-slim 图像似乎约为 75MB - 是否有合适的类似大小的 Java 17 图像?

我们过去也使用过高山图像。

0 投票
1 回答
72 浏览

java - 如何将资源添加到同名文件夹中的两个模块化 jar?

假设我们有两个带有两个不同模块的 jar 文件。两个 jar 文件都在其 jar 中名为 images 的文件夹中包含一些资源(比如说 png 文件)。当我现在尝试在 java 中启动模块时,出现以下错误:

虽然我的图像文件夹并不是一个包,而只是一个包含资源的文件夹。那么如何将两个带有图像文件夹的模块放到我的模块路径中呢?

0 投票
2 回答
591 浏览

java - 如何通过 Java 17 中的反射获取所有 Record 字段及其值?

我有一堂课:

我将其替换为 Java 17 中的记录:

另外,我有一个代码通过反射进行验证,该代码与常规类一起使用,但不适用于记录:

通过 Java 17 中的反射获取 Record 对象字段及其值的正确方法是什么?

0 投票
1 回答
106 浏览

java - 为什么 ParallelStream 不会在递归中使用所有 commonPool 的线程?

当我运行以下代码时,8 个可用线程中只有 2 个运行,谁能解释为什么会这样?如何更改代码以利用所有 8 个线程?

Tree.java

forEach(我使用or没关系reduce)。

Main.java

在该main方法中,我创建了一个具有以下结构的树:\

sendCommandAll函数处理每个子树(并行)只有当它的父完成处理时。但结果如下:

处理器:8
[main] 向 1
[main] 树发送命令,数据 1 为真
[main] 向 6
[ForkJoinPool.commonPool-worker-2] 向 5
[main] 树发送命令,数据 6 为真
[ForkJoinPool .commonPool-worker-2] 数据 5 的树为真
[ForkJoinPool.commonPool-worker-2] 向 4 发送命令
[ForkJoinPool.commonPool-worker-2] 数据 4 的树为真
[ForkJoinPool.commonPool-worker-2]向 3
[ForkJoinPool.commonPool-worker-2] 树发送命令,数据 3 为真
[ForkJoinPool.commonPool-worker-2] 向 2
[ForkJoinPool.commonPool-worker-2] 树发送命令,数据 2 为真

(作为记录,当我执行注释代码时Main.java,JVM 使用所有 7 (+ 1) 个可用线程commonPool

如何改进我的代码?

0 投票
1 回答
107 浏览

java - 为什么 RecordComponent 没有在 Java 17 的 Records 类中定义的注释信息?

我玩唱片,发现一些对我来说看起来不合逻辑的东西:

记录:

代码:

但是,如果我这样做:

这是预期的吗?因为RecordComponent implements AnnotatedElement,所以我认为RecordComponent应该有关于注释的信息。我的期望错了吗?

0 投票
0 回答
54 浏览

java - 调用 AudioSystem.getClip() 时出现 IllegalArgumentException

我正在尝试在我用 Java 制作的俄罗斯方块风格的游戏中播放音频,我不想引入任何外部依赖项来做到这一点。当寻找在没有外部库的情况下在 Java 中播放音频的方法时,我发现AudioSystem.getClip()这似乎给了我想要的东西。但是,当我使用它时,会立即抛出 IllegalArgumentException。

即使像这样最小的东西也可以重现错误:

运行它会给我以下堆栈跟踪:

那么我在这里可能做错了什么?如果我正确阅读了文档,则无需为此方法提供任何参数:https ://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/声音/采样/AudioSystem.html#getClip()

它确实说“如果系统不通过任何已安装的混音器支持至少一个剪辑实例”,则会引发此异常,但我并不特别明白这意味着什么。我应该如何解决这个问题?

对于它的价值,我正在使用带有 OpenJDK 17 的 IntelliJ IDEA 社区,由 Flathub 在 Fedora (Linux) 34 上使用 PipeWire 作为我的音频系统(支持 PulseAudio)。

0 投票
2 回答
139 浏览

java - 当在 VSCode 中创建 module-info.java 文件时,JavaFX 停止工作

当我将 module-info.java 文件添加到我的 java 项目中的 src 文件夹时,出现错误:错误 图像和我的文件夹设置

当我删除 module-info.java 文件时,错误消失了,但我需要 module-info 文件

模块信息.java:

还没有开始添加东西,但是每当我添加需求时,它都会说:javafx.fxml 无法解析为模块(所有 javafx jar 文件都在引用的库中)

0 投票
2 回答
280 浏览

java - Java-17 - switch case - 应该删除未使用的方法参数

我有一个简单的方法,它接受一个枚举并返回一个字符串:

但是声纳给了我这个主要错误:Unused method parameters should be removed

如您所见,参数类型在开关中使用。有关更多详细信息,当我使用旧开关盒时,一切都很好。

关于这个问题的任何想法,声纳是否涵盖新的 Java 语法?


嗯,我注意到当我default -> null;正确移除声纳通道时!这很奇怪。