在玩一些jcstress代码时,我注意到两个对我来说很新的参数:StressLCM和StressGCM。
对我来说,要做的第一件事就是在源代码本身中搜索这些内容,尽管我发现了一些内容,但仍不清楚它们的实际作用。我真的很希望在源代码中看到一些注释,但这些注释可能会有所帮助,但是没有运气。
我还发现了在其中添加了这些错误的错误描述,但该解释对我而言毫无意义:
在LCM / GCM中随机化指令调度。
有人可以用简单的英语解释他们的工作吗?
我正在尝试使用将项目迁移到Java 12 --enable-preview。
我--enable-preview在编译器设置中添加了:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>12</release>
<compilerArgs>
<arg>--enable-preview</arg>
</compilerArgs>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
并在argLine中添加了它,以确保surefire和failsafe:
<properties>
<argLine>--enable-preview</argLine>
</properties>
Run Code Online (Sandbox Code Playgroud)
并mvn clean verify得出以下结果:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3:test (default-test) on project lombok-jdk10: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3:test failed: java.lang.UnsupportedClassVersionError: Preview features are not enabled for com/kirela/lombok/BarTest (class file version 56.65535). Try running with '--enable-preview' -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
我也尝试将argLine直接添加到surefire / failsafe配置中,但是结果是相同的。
我在这里想念什么?
我这是surefire / failsafe中的错误吗?
EDIT2:Surefire和故障安全配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<forkCount>2</forkCount>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId> …Run Code Online (Sandbox Code Playgroud) java maven maven-surefire-plugin maven-failsafe-plugin java-12
我有以下代码
public class TeeingCollector {
public static void main(String[] args) {
// var strs = List.of("abc");
var dividedStrings = Stream.of("foo", "hello", "bar", "world")
.collect(Collectors.teeing(
Collectors.filtering((String s) -> s.length() <= 3, Collectors.toList()),
Collectors.filtering((String s) -> s.length() > 3, Collectors.toList()),
List::of
));
System.out.println(dividedStrings);
}
private static class Employee {
boolean isActive;
public Employee(boolean isActive) {
this.isActive = isActive;
}
public boolean isActive() {
return isActive;
}
@Override
public String toString() {
return "Employee{" +
"isActive=" + isActive +
'}';
}
}
private …Run Code Online (Sandbox Code Playgroud) 我最近在Intellij上使用Java 11和Lombok,一切都很好。
我尝试使用Java 12,但现在总是遇到编译错误,因为lombok的注释似乎被忽略了。
有人知道lombok是否支持Java 12吗?
- Intellij : 2019 1.1
- Lombok : 1.18.6
- Lombok plugin : v0.24
- JDK : 12.0.1
Run Code Online (Sandbox Code Playgroud) 附带jdk12,国际象棋符号(来源):
Unicode 11.0.0引入了JDK 12现在包含的以下新功能
[...] 4个块,用于以下现有脚本:
格鲁吉亚扩展
玛雅数字
ndic Siyaq数字
象棋符号
考虑到这一点,我尝试使用以下代码打印这些字符,以测试功能并稍后在小型国际象棋游戏中使用它们:
Character.UnicodeBlock block = Character.UnicodeBlock.CHESS_SYMBOLS;
for (int i = 0; i < 1114112; i++) {
char unicode = (char) i;
if(Character.UnicodeBlock.of(unicode) == block) {
System.out.println(unicode);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,它没有打印任何内容。如果我将其替换CHESS_SYMBOLS为例如,该代码将起作用ARABIC。我有Java 12.0.1。
问题:上面的代码为什么不打印任何内容?
我无法将org.w3c.dom.NodeList包导入到Eclipse。它显示
可以从多个模块中访问org.w3c.dom包:
<unnamed>eclipse中的“ java.xml”错误消息。
请让我知道如何解决此问题?
Eclipse版本:
适用于企业Java开发人员的Eclipse IDE。
版本:2019-06(4.12.0)
版本号:20190614-1200
Java版本:
java版本“ 12.0.1” 2019-04-16
Java(TM)SE运行时环境(内部版本12.0.1 + 12)
Java HotSpot(TM)64位服务器VM(内部版本12.0.1 + 12,混合模式,共享)
我在Java 12中使用开关表达式¹将字符串转换为HTTP方法:
static Optional<RequestMethod> parseRequestMethod(String methodStr) {
return Optional.ofNullable(
switch (methodStr.strip().toUpperCase(Locale.ROOT)) {
case "GET" -> RequestMethod.GET;
case "PUT" -> RequestMethod.PUT;
case "POST" -> RequestMethod.POST;
case "HEAD" -> RequestMethod.HEAD;
default -> {
log.warn("Unsupported request method: '{}'", methodStr);
return null;
}
});
}
Run Code Online (Sandbox Code Playgroud)
我想警告默认分支中不支持的方法,并返回null(然后包装在Optional中)。
但是上面的代码会导致编译器错误:
返回封闭开关表达式之外
我该如何进行编译?
为了完整起见,这是RequestMethod枚举的定义:
enum RequestMethod {GET, PUT, POST, HEAD}
Run Code Online (Sandbox Code Playgroud)
¹ 开关表达式是Java 12中的预览功能。
编辑:原始字符串文字已从JDK 12中删除,但我将打开此问题并在重新引入Raw String Literals时相应地编辑它.
在测试Raw String Literals(这是Java 12中的预览功能)时,我遇到了以下代码片段:
System.out.println(`
Test 1
Test 2
Test 3
`);
Run Code Online (Sandbox Code Playgroud)
其中输出如下:
Test 1
Test 2
Test 3
Run Code Online (Sandbox Code Playgroud)
但是,我希望输出类似于以下内容:
Test 1
Test 2
Test 3
Run Code Online (Sandbox Code Playgroud)
删除前导缩进以匹配预期格式的最简单方法是什么?
我正在运行Android Studio 3.5 Beta5。我一直在尝试尝试用Robolectric针对Android SDK 29运行单元测试。指示我去10,然后11,然后12!
我下载了JDK 12,现在我想将Android Studio的JDK位置配置为12。但是,当我尝试这样做时,会收到以下警告消息:“请选择一个有效的JDK 8目录”。请参见下面的屏幕截图。
是否需要更改其他设置才能使该对话框允许我选择大于8的JDK?还是只是不可能?
在学习过程中,它已在我的计算机上安装了JDK,以便能够运行eXist数据库。此后,执行命令后,出现java -jar fileName.jar以下错误。
图形设备初始化失败:d3d,sw初始化QuantumRenderer时出错:找不到合适的管道java.lang.RuntimeException:java.lang.RuntimeException:初始化QuantumRenderer时出错:在com.sun.javafx.tk.quantum.QuantumRenderer上找不到合适的管道。 com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:222)上的getInstance(QuantumRenderer.java:280)com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)上的QuantumToolkit.init(QuantumToolkit.java:222) com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)上的.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl .java:658)(位于com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678))。javafx.application.LauncherImpl.lambda $ launchApplication $ 2(LauncherImpl.java:195)at java.base / java.lang.Thread.run(Thread.java:835)原因:java.lang.RuntimeException:初始化QuantumRenderer时出错:no在com.sun.javafx.tk.quantum.QuantumRenderer $ PipelineRunnable.run(QuantumRenderer.java:124)处的com.sun.javafx.tk.quantum.QuantumRenderer $ PipelineRunnable.init(QuantumRenderer.java:94)上找到合适的管道。 .. 1个以上线程“ main”中的异常java.lang.RuntimeException:在com.sun.javafx.application.PlatformImpl.startup的com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)上找不到工具包(PlatformImpl.java:267)com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)com.sun.javafx.application.LauncherImpl。位于com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)的com.sun.javafx.application.LauncherImpl.lambda $ launchApplication $ 2(LauncherImpl.java:195)的startToolkit(LauncherImpl.java:658) java.base / java.lang.Thread.run(Thread.java:835)
Windows 10
java -version
Run Code Online (Sandbox Code Playgroud)
openjdk版本“ 12.0.2” 2019-07-16采用OpenJDK运行时环境
OpenJDK(内部版本12.0.2 + 10)采用OpenJDK 64位服务器VM
OpenJDK(内部版本12.0.2 + 10,混合模式,共享)