问题标签 [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.
javascript - Nashorn 与 Java 1.8 到 15 的兼容性?
我需要使用 Nashorn JavaScript 引擎的软件与 Java 1.8 以上版本兼容。
如果我使用与 JDK 捆绑的那个,它将无法在 Java >= 15 上运行。如果我使用独立的 Nashorn,它将与 Java < 15 不兼容。
有没有办法保持兼容性?我已经考虑过反思,但可能有更有效的方法。
java - 静态最终字段与 TrustFinalNonStaticFields
假设我有这个简单的方法:
对于 javac,me
不是常量(根据 JLS 规则),但对于 JIT 很可能是。
我尝试使用以下方法对此进行测试:
并运行它:
我不知道组装很好,但这很明显:
的结果go
是立即的4
,即:JIT “信任”me
是一个常数,因此2 * 2 = 4
。
如果我删除static
并将代码更改为:
并运行它:
我确实在汇编中看到:
这实际上是me
with的乘法2
,通过移位完成。所以 JIT 不相信me
是一个常数,这是意料之中的。
现在的问题。我想如果我添加TrustFinalNonStaticFields
标志,我会看到相同的mov eax 0x4
,即:运行:
应该显示mov eax,0x4
,但令我惊讶的是它没有,并且代码保持为:
有人可以解释发生了什么以及我缺少什么吗?
java - Eclipse Java 15 支持不起作用,编译器不显示正确的版本
在之前将我的 Eclipse 升级到 2020-12 (4.18 .0)。但是它不起作用(编译器未显示高于 12 的版本),并且手动添加时构建路径无法识别 JDK 15:
我想知道第三个屏幕截图中 Java 15 插件旁边的红色小加号图标是否意味着什么。
任何帮助表示赞赏。
java - 如何从 jdk 15 中提取 java 预览类文件?
我目前正在尝试从 jdk 中提取预览类文件,例如 jrt-fs.jar 中的 java.lang.Record (在 libs 文件夹中),但是在迭代它时找不到预览类,例如 Record 。这是我正在使用的代码:
我也尝试过更直接的方法:
现在,当我使用 --enable-preview 运行完全相同的 jdk 时,我可以使用记录。
如何从 jdk linux/lib 中提取 Record 类?预览课程在里面还是我应该在其他地方寻找它们?我需要一个特定的标志来访问它们吗?
任何帮助表示赞赏。
java - Java < 15 和 >= 15 的不同 Nashorn 引擎?
正如我之前提出的另一个问题所述,我正在尝试为 Nashorn 找到一种解决方法,使其与 1.8 以上的每个 Java 版本兼容。
我目前正在尝试UnsupportedClassVersionError
了解系统是否能够像这样运行独立的 Nashorn for Java 15(Kotlin 代码):
但是,看起来错误没有被捕获。堆栈跟踪如下:
我还尝试捕获NoClassDefFoundError
反转以前的 try/catch(加载 Java < 15 Nashorn,如果它不存在,则加载独立的),但错误是相同的。
编辑:看起来错误是由 Java < 15 Nashorn 本身引发的。
java - jpackage 在 Mac OS 11.2 上失败
我有Mac OS 11.2
和Openjdk 15.0.1
。我运行jpackage
,但是当我使用选项时--license-file license.txt
,包是构建的(但没有许可证)并且我在命令行中有一个错误:
为什么它失败了,我该如何解决?
java - Java记录与龙目岛@Value
记录是自 Java 14(第一次预览版)和 Java 15(第二次预览版)以来的新语言功能。据我了解,它们将用于减少不可变数据对象中的样板代码。
所以这一行:
等价于声明一个具有私有 final 字段、每个字段的 getter、公共构造函数和 equals、hashCode 和 toString 方法的类。
@Value
然而,这与使用 lombok注释几乎相同:
除了你显然不需要处理lombok依赖之外,使用记录有什么好处吗?
spring - java 15中的隐藏类是什么?
Java 15中的隐藏类功能到底是什么?
正如我在 Java 15 文档中所读到的,Spring和Hibernate框架使用了隐藏类?我需要 Spring 和/或 Hibernate 使用的 Hidden Classes 的真实示例。
java - 尝试为 python3 安装 pip 时出现 Java 错误
我正在努力为 python3 下载 pip。我正在开发 macOS Catalina(版本 10.15.7)。我使用以下命令行: sudo apt install python3-pip
一开始,我没有 JDK,并从https://www.oracle.com/java/technologies/javase-downloads.html下载了一个。现在我有了 Java SE 15.0.2,尝试安装 pip 时遇到以下问题:
Unable to locate an executable at "/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home/bin/apt" (-1)
我确实检查了,“/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home/bin/apt”不存在。
但是,“/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home/bin/”可以。
非常感谢您的帮助 !