问题标签 [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.
java - 如何获取 SSLHostConfig?
我能够获得父连接器
而且我不想读取 server.xml 以防它不同步。如何获得 SSLHostConfig ?
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 图像?
我们过去也使用过高山图像。
java - 如何将资源添加到同名文件夹中的两个模块化 jar?
假设我们有两个带有两个不同模块的 jar 文件。两个 jar 文件都在其 jar 中名为 images 的文件夹中包含一些资源(比如说 png 文件)。当我现在尝试在 java 中启动模块时,出现以下错误:
虽然我的图像文件夹并不是一个包,而只是一个包含资源的文件夹。那么如何将两个带有图像文件夹的模块放到我的模块路径中呢?
java - 如何通过 Java 17 中的反射获取所有 Record 字段及其值?
我有一堂课:
我将其替换为 Java 17 中的记录:
另外,我有一个代码通过反射进行验证,该代码与常规类一起使用,但不适用于记录:
通过 Java 17 中的反射获取 Record 对象字段及其值的正确方法是什么?
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
)
如何改进我的代码?
java - 为什么 RecordComponent 没有在 Java 17 的 Records 类中定义的注释信息?
我玩唱片,发现一些对我来说看起来不合逻辑的东西:
记录:
代码:
但是,如果我这样做:
这是预期的吗?因为RecordComponent implements AnnotatedElement
,所以我认为RecordComponent
应该有关于注释的信息。我的期望错了吗?
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)。
java - 当在 VSCode 中创建 module-info.java 文件时,JavaFX 停止工作
当我将 module-info.java 文件添加到我的 java 项目中的 src 文件夹时,出现错误:错误 图像和我的文件夹设置
当我删除 module-info.java 文件时,错误消失了,但我需要 module-info 文件
模块信息.java:
还没有开始添加东西,但是每当我添加需求时,它都会说:javafx.fxml 无法解析为模块(所有 javafx jar 文件都在引用的库中)
java - Java-17 - switch case - 应该删除未使用的方法参数
我有一个简单的方法,它接受一个枚举并返回一个字符串:
但是声纳给了我这个主要错误:Unused method parameters should be removed。
如您所见,参数类型在开关中使用。有关更多详细信息,当我使用旧开关盒时,一切都很好。
关于这个问题的任何想法,声纳是否涵盖新的 Java 语法?
嗯,我注意到当我default -> null;
正确移除声纳通道时!这很奇怪。