问题标签 [java-9]
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 - 在 JShell 中将变量转换为其原始形式
我正在使用JShell并尝试将变量转换为其原始形式。为此,我使用 重置 REPL 中的所有内容/r
,然后导入java.util.*
并创建了一个列表:
现在我正在尝试将列表值转换为大写,所以我正在这样做:
列出我使用/list
(或/l
)键入的执行源代码显示:
现在,当我尝试将列表重置为第1阶段(在更改其值之前)时,我得到了以下import
语句:
有谁知道为什么会这样?我在没有声明的情况下尝试了相同的import
操作,但得到了相同的结果(我认为这是因为它被显式导入)。
我刚刚注意到,如果我写,/l all
我会得到:
我不知道为什么/1
执行第一import
条语句而不是首先执行字符串赋值。即使import java.util.*;
存在,s5
也很奇怪import java.util.concurrent.*;
(这显然是多余的)。
macos - 如何在我的 Mac 上编译 JDK 9 Early Access?
在为 Mac 下载 Java 9 抢先体验后,我尝试了模块快速入门指南 ( http://openjdk.java.net/projects/jigsaw/quick-start )。但是,代码似乎无法编译。它失败并显示以下输出:
有人让这个例子在 Mac 上工作吗?
java - 错误:java.lang.InternalError:远程启动失败:com.sun.jdi.CommandLineLaunch
我必须使用 jshell java 9 功能做一个项目。但是当我使用 java 9 在 intellij 中启动时,我遇到了这个错误:
这可能是什么原因造成的?
eclipse - Neon:如何在jdk9上运行?
刚开始玩 jdk9 - 刚开始就卡住了:
- 下载并解压 eclipse-java-neon-m4a-win32
- 安装了 java 9 支持(来自市场的 dnd )
- 下载并安装jdk9u99(只有jdk,不是公共jre)
此时,我可以使用 jre/jdk(在 eclipse.ini 中带有/out vm 参数)在我的默认 java(即 8u60)上运行 eclipse,并使用 java 9 支持。
作为下一步,我想用 java 9 运行 eclipse:将 vm-arg 添加到 eclipse.ini,现在 eclipse 用一个冗长的错误日志中止它的启动(ini 和日志都如下所示)。
问题出在哪里?
我的ini:
错误日志的顶部(> 900k)
更新
最新的 Neon (M6) 和 9-ea-113 仍然没有运气,但记录的错误已更改
这看起来类似于错误报告中的那个。它在 M7 中被标记为已修复。
java - 在 OSX 上安装 JDK 9 后 Eclipse 无法打开
我正在运行 OS X 10.11.3 El Capitan。直到最近,我的 Eclipse Mars.1 和 JDK 8u72 都可以顺利运行。
最近我从“jdk9.java.net/download/”安装了 JDK 9 的早期快照版本。之后,Eclipse 没有打开,不断告诉我发生了错误并告诉我参考日志。
我做了一些关于为什么 Eclipse 在安装 JDK 9 后会崩溃的研究,发现 eclipse.org 实际上已经发布了 Eclipse Mars 和 Neon 的更新补丁以支持使用 JDK 9,详见https://文章www.eclipse.org/community/eclipse_newsletter/2015/june/article4.php。还提供了 Mars 和 Neon 支持补丁的下载说明。
因为下载支持补丁的两种方式(从 Eclipse Marketplace 或 p2 存储库)都需要运行 Eclipse,而且由于我的 Eclipse 根本没有启动,我想我需要一个解决方法。这就是我所做的:
(1)卸载JDK 9(通过删除/Library/Java/JavaVirtualMachines/中的“jdk-9.jdk”目录)
(2) 启动 Eclipse 并安装更新补丁(我是使用 p2 存储库完成的)
(3) 重新安装 JDK 9 并尝试再次启动 Eclipse。
在这一点上,可以预期 Eclipse 应该可以运行,因为它已经为 Mars.1 安装了 Java 9 Support 补丁。但是,Eclipse 仍然没有运行,给我和以前一样的错误信息。
单击此链接可查看 Eclipse 上次告诉我在启动时崩溃时参考的日志文件。它位于“/Applications/Eclipse/Contents/Eclipse/configuration/”。
非常感谢谁能帮助弄清楚如何在安装了 JDK 9 的 Mac 上运行 Eclipse!
javafx-8 - 如何覆盖已安装的行为映射?
在 java-9 中,Skins 进入了公共范围,而 Behaviors 则被蒙在鼓里——尽管如此,现在发生了很大变化,现在将 InputMap 用于所有输入绑定。
CellBehaviorBase 安装鼠标绑定,例如:
现在,一个具体的 XXSkin 会私下安装该行为:
要求是替换 mousePressed 行为(在 jdk9 上下文中)。这个想法是反射性地抓取 super 的字段,处理它的所有映射并安装自定义行为。出于某种我不明白的原因,旧绑定仍然处于活动状态(尽管旧映射是空的!)并且在新绑定之前被调用。
下面是一个可运行的示例:到 mousePressed 的映射被简单地实现为什么都不做,特别是不调用 super。为了查看工作中的旧绑定,我在 CellBehaviorBase.mousePressed 处设置了一个条件调试断点,例如(在 Eclipse 中):
运行调试并单击任何单元格,然后输出为:
我希望只看到最后一部分,即我的自定义行为的打印输出。感觉就像我从根本上脱离了 - 但无法确定它。想法?
可运行代码(对不起,它的长度,大部分是样板,虽然):
编辑
该建议继承自抽象皮肤 XXSkinBase 而不是具体的 XXSkin(然后你可以自由安装你想要的任何行为,伙计 :-) 是非常合理的,应该是第一个选择。在 XX 是 TableCell 的特殊情况下,这目前是不可能的,因为基类包含抽象的包私有方法。此外,还有 XX 没有抽象基础(如 fi ListCell)。
java - Java 9 ea 中是否存在启动时间回归?
我听说过
- 每个主要版本都使 JVM 变得更快(在某些方面)
- 9 的模块化将带来更快的启动时间。
为了加快 Maven 构建速度,我下载jdk9-ea
了它并发现它需要更长的时间。此外,感觉在 Maven 启动之前还有更长的延迟。
我尝试使用以下代码粗略测量 JVM 启动时间
从 Java 9 开始需要两倍的时间
注意:最初我使用的是服务器虚拟机(x64),同样的 2x 间隔,Java9 启动时间约为 0.6 秒。
后java -Xshare:dump
使用 Java 8 EA
错误信息:
50 次中的 44 次成功开始是我能得到的最高数字。最低的是 - 13。
java - 如何在 pom.xml 上运行 maven-jdeps-plugin?
在我的pom.xml
我添加了 maven-jdeps-plugin:
但是当我使用 JDK 8 和 maven 3.3.3 运行它时,jdeps 插件不做任何检查:
额外信息:
java - 声明对 tools.jar 的 maven 依赖以在 JDK 9 上工作
我有一个使用这种技术的项目,该技术在 JDK 8 及更早版本中运行良好。但是,在 JDK 9 中,此 jar 已被删除,并且不再起作用:
com.sun:tools:jar 的“dependencies.dependency.systemPath”指的是不存在的文件 /usr/lib/jvm/java-9-jdk/../lib/tools.jar。请确认您使用 JDK 而不仅仅是 JRE 运行 Maven。
(路径看起来很奇怪,虽然JDK 9中没有tools.jar )
适用于 JDK 版本甚至 JDK 供应商的最佳实践是什么?我什至没有在 OpenJDK 上找到任何适用于 JDK 9 的解决方法(同时保持项目可在 JDK 8 上构建)。