问题标签 [java-15]

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 回答
3537 浏览

java - 如何在 Java 15 及以后继续使用 Javascript

在我的 Java 应用程序中,一个重要的小功能是能够根据音频文件的元数据(例如专辑/艺术家-标题)重命名音频文件,并且使用Javascript指定掩码,这使得重命名功能非常灵活和强大。

我知道 Javascript 已被弃用,但现在看来它实际上将从 Java 15 开始被删除。这种功能损失对我来说可能是一个主要问题,所以我问即使它被正式删除,有没有办法我可以在 Java 15 应用程序中继续使用 Javascript,即它是否可以作为我可以使用的 opensrc 插件在我自己的风险。Ecmascript 5.1 的开发已经停止这一事实对我来说不是一个主要问题。

有人提到使用GraalVM,但没有解释如何执行此操作,我认为这不适合我的场景,特别是我的应用程序可用于某些 32 位Arm环境,而 GraalVM 不可用于 32 位。

我已经从 Java 11 迁移到 Java 14 以解决一些其他问题,所以我不能真正回到 Java 11,而且由于 Java 14 不是LTS版本,我不能真正长期坚持使用 Java 14。

这是我的大部分 Javascript 代码

0 投票
1 回答
633 浏览

java - UseCompressedOops UseCompressedClassPointers 在 jdk-13 和 jdk-15

无意间,我偶然发现了一个jdk-15我不知道的变化。假设我有一个非常简单的问题:3 个整数数组的大小是多少?为此,我使用JOL。代码相当简单:

我运行这个jdk-13

我得到输出:

这很明显:

运行此示例jdk-15会产生相同的输出,相同32 bytes。预期的...


对于第二部分,我想禁用 JVM 优化:-XX:-UseCompressedOops. 我运行这个jdk-13

好吧,也有点预期:

现在让我们运行相同的示例jdk-15

为什么是32 bytes现在?怎么不40一样了jdk-13

0 投票
5 回答
11168 浏览

java - Java 14 或 15 中的字符串插值

由于我使用的是 Java 14 和 15 预览功能。试图在java中找到字符串插值。

我找到的最接近的答案是

String.format("u1=%s;u2=%s;u3=%s;u4=%s;", u1, u2, u3, u4)

由于我从很多参考资料中得到的答案是 4,5 年前提出的旧答案。java 11,12,13,14,15 中的字符串插值是否有任何更新,相当于 C#

0 投票
4 回答
2776 浏览

java - 如何在 Java 15 文本块功能中添加变量?

刚刚遇到了 Java 15 中的一个新特性,即“文本块”。我可以假设可以通过连接“+”运算符在文本块中添加变量,如下所示:

但是他们是否提供了任何方式,以便我们可以添加变量,这种方式在许多其他语言中变得流行,如下所示:

这个问题可能听起来很傻,但在某些情况下可能很有用。

0 投票
4 回答
3300 浏览

java - 用非密封类扩展密封类有什么意义?

我真的不明白为什么non-sealed在 JEP 360/Java 15 中有一个关键字。对我来说,密封类的扩展应该只是 final 或密封类本身。

提供“非密封”关键字将邀请开发人员进行黑客攻击。为什么我们允许将密封类扩展到非密封类?

0 投票
2 回答
671 浏览

java - jOOQ 与 java 15:org.jooq 中的接口 org.jooq.Record 和 java.lang 中的类 java.lang.Record 匹配

我刚刚尝试将我的项目升级到 Java 15,现在我收到以下错误:

有没有人有解决这个问题的经验?

0 投票
1 回答
301 浏览

java - JDK 15 Sealed Classes - 如何跨包使用?

我有一个简单的密封类,MyShape

还有一个简单的子类MyCircle

当两个类都在同一个包中时,一切都可以编译和工作。如果我将 MyCircle 移动到子包中,则构建会中断:java: class is not allowed to extend sealed class: org.example.MyShape

我对JDK 15 文档的理解是这应该有效。我错过了一步吗?

如果您想进行实验,我已经创建了一个 GitHub 存储库。

0 投票
1 回答
5851 浏览

java - Apache NetBeans 12.1 是否支持 JDK 15?

Oracle 最近发布了 JDK 15,我想知道 NetBeans IDE 的最新版本 Apache NetBeans 12.1 是否支持 JDK 15。我知道 NetBeans 并没有正式支持 JDK 15,但我想问是否有人知道它非正式地支持它。谢谢!

0 投票
2 回答
869 浏览

java - Java 15 的密封类功能中的最终类和非密封类有什么区别?

我有以下密封接口(Java 15):

该接口由 2 个类实现:

谁能告诉我和之间的final区别non-sealedfinal阻止我创建其他子类,但non-sealed适用于什么行为Duck

0 投票
1 回答
550 浏览

java - 如何使用 EdDSA/Ed448 签名算法重新生成私钥?

这是我生成密钥对的方式:

但是,当我再次尝试重新生成密钥时,出现异常:

异常堆栈跟踪:

这是我从OpenJDK 存储库复制的一些实用程序: