问题标签 [java-14]
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 - Java 14 Record 文档中“浅不可变”的含义
我正在阅读Records的文档, 但不理解“浅不可变”一词。浅不可变是什么意思?如果它是不可变的,为什么我们需要一个复制构造函数?为什么是两个“Hello Worlds!”?
对于所有记录类,以下不变量必须保持:如果记录 R 的组件是 c1、c2、...cn,那么如果记录实例被复制如下:
那么它一定是这样的r.equals(copy)
。
java - Java 记录 StackOverflow RuntimeException
我正在学习 Java 记录、预览功能,并且在运行以下代码时遇到 StackOverflow 异常。
从异常中,我意识到它与 toString() 有关,当我在记录中覆盖 toString() 时,如下代码所示,我看不到 Exception 。
此代码打印 John : Enrolled for Math,Enrolled for History 。有人可以解释为什么如果我不覆盖 toString() 我会得到 StackOverflow?我在打印时也看到了 StackOverflowjohn.hashCode()
glassfish - 我应该在 jdk 14 中使用哪个版本的 payara 或 glassfish?
我应该在 jdk 14 中使用哪个版本的 payara 或 glassfish?我已经尝试过 glassfish 5.1.0 和 payara 5.201。
java - 在 windows 10 中使用 jpackage 创建 windows 包的问题?
我正在使用 openjdk 14.0.1
我一直在关注教程
https://openjfx.io/openjfx-docs/#install-javafx
按照 CLI 中的 Runtime images Modular 教程进行操作
我已经使用 jlink 成功创建了运行时映像。创建的运行时映像如下,使用 bin 内的 jvm 我可以运行此应用程序。
为了从这个运行时创建包
我正在使用命令
这将创建一个安装程序,如下所示
但是当我运行安装程序时,会发出声音,但什么也没有发生。如果我再次打开安装程序,也会发生同样的情况,即声音并且没有任何反应。所以我想知道我是否正确地执行了这个过程。我很感激任何帮助!谢谢!
eclipse - Java 无法引导路径、eclipse、jdk-13
我正在尝试更新我的 JavaFX 项目以与 JRE 13 兼容(直到现在它被设置为使用 JRE 1.8)。我正在使用 Mac 使用 Eclipse 2020-03 进行开发。
我必须处理的第一个大问题是从 JDK 1.8 中包含的 JavaFX 库迁移到必须将 JavaFX (14) 作为 JDK 13 的外部包导入。
第二个问题是从使用类路径迁移到使用模块路径。我是模块路径的新手,所以我所说的可能没有意义,但我现在的设置是这样的:
最后,现在所有的编译器错误都消失了(我不得不重新编译我下载的一些外部 .jar 文件,因此没有任何拆分包),但是当我构建和运行应用程序类时,什么也没有发生。
检查 Mac 系统控制台,以下输出似乎引用了应用程序未启动的原因,但我检查了他的 JDK 路径并且引用的java
可执行文件确实存在。
这里发生了什么?如果您需要有关我的项目配置的更多信息,请发表评论,我可以添加详细信息。
java - java.security.NoSuchAlgorithmException:算法 x25519 不可用
我收到这段代码的“javax.net.ssl.SSLException:连接重置”
但仅在使用 Open JDK 14 中的 jlink 构建的 Java 14 JRE 下运行时。如果我指向完整的 JDK,代码执行得很好。我怀疑 JRE 中缺少某些东西,但它是什么,为什么 jlink 没有复制丢失的文件?我基于jdeps的jlink命令如下:
我是否缺少 jlink 中的模块?有关如何追踪此问题的任何想法或建议?
按照建议添加调试后,我得到了这个输出。我需要复制什么来修复它?
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 代码
java - 在 Eclipse 4.15.0 中使用时插入 Java 14 文本块前导 \r\n
我正在学习如何处理 java 14(预览版)文本块。在 Junit 测试中使用以下文本块时,我遇到了以下意外功能(简化代码示例,在实际测试中我使用 HTML 片段):
执行此测试会导致错误,因为"\r\ntest"
不匹配"test"
:
当我查阅文档(https://docs.oracle.com/javase/specs/jls/se14/preview/specs/text-blocks-jls.html)时,它字面意思是:
文本块的内容是紧接在开始定界符的行终止符之后开始并在结束定界符的第一个双引号之前结束的字符序列。
我错过了什么?
几个问题和建议后更新:
我创建了一个小测试类:
它在执行时打印以下内容:
这个类的字节码是
java - JDK 14 没有 rt.jar。那么引导类在哪里呢?
我可以在 JAVA-HOME/lib 中找到的唯一 jar文件是一个名为jrt-fs.jar的文件,它的大小只有 105 KB。
那么运行时(引导)类在哪里呢?