问题标签 [java-12]

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 投票
1 回答
3721 浏览

java - 为什么 Java 12 会尝试将 switch 的结果转换为数字?

我同意这段代码:

返回这个:

但是如果你删除布尔值:

返回这个:

我想这个结果是出乎意料的。

0 投票
3 回答
10002 浏览

java - 在surefire和failsafe中使用启用的预览功能运行测试时出现问题

我正在尝试将项目迁移到 Java 12,使用--enable-preview.

--enable-preview在编译器设置中添加:

并且还在 argLine 中添加了它以确保万无一失和故障安全:

并做一个mvn clean verify结果:

我也尝试将 argLine 直接添加到 surefire/failsafe 配置中,但结果是一样的。

我在这里想念什么?

我这是万无一失/故障安全中的一个错误?

EDIT2:Surefire 和故障安全配置:

EDIT3:最小的工作示例在这里:https ://github.com/krzyk/lombok-jdk10-example

该项目失败--enable-preview,但当我删除它时工作。

0 投票
1 回答
446 浏览

java - Groovyc 和 Java 12 预览功能

我正在尝试编译一个项目,其中包含一些用 groovy 编写的测试。该项目--enable-preview适用于 Java 12。

我正在使用 gmavenplus-plugin 来做到这一点:

我有--enable-previewmaven 编译器和 surefire/failsafe(使用 argLine)。如果我禁用 groovy 插件(和测试),一切正常。

但是当我启用它时,它失败了:

我没有看到任何可以传递给此插件以启用预览功能的选项。它使用javac吗?或者这样的选项应该在groovyc中吗?

0 投票
1 回答
1975 浏览

java - 使用 -gc true 在 Java 12 与 Java 8 上的流 API 的神秘微基准测试结果

作为我对在流中使用复杂过滤器或多个过滤器之间的区别进行调查的一部分,我注意到 Java 12 的性能比 Java 8 慢得多。

这些奇怪的结果有什么解释吗?我在这里错过了什么吗?

配置:

  • 爪哇 8

    • OpenJDK 运行时环境 (build 1.8.0_181-8u181-b13-2~deb9u1-b13)
    • OpenJDK 64 位服务器 VM(内部版本 25.181-b13,混合模式)
  • 爪哇 12

    • OpenJDK 运行时环境 (build 12+33)
    • OpenJDK 64-Bit Server VM(build 12+33,混合模式,共享)
  • 虚拟机选项:-XX:+UseG1GC -server -Xmx1024m -Xms1024m

  • CPU:8核

JMH 吞吐量结果

  • 预热:10 次迭代,每次 1 秒
  • 测量:10 次迭代,每次 1 秒
  • 线程:1个线程,将同步迭代
  • 单位:操作/秒

比较表

代码

流 + 复杂过滤器

流 + 多个过滤器

并行流+复杂过滤器

并行流+多个过滤器

旧时尚 java 迭代

您可以通过运行 docker 命令自行尝试:

对于 Java 8:

docker run -it volkodav/java-filter-benchmark:java8

对于 Java 12:

docker run -it volkodav/java-filter-benchmark:java12

源代码:

https://github.com/volkodavs/javafilters-benchmarks

0 投票
1 回答
177 浏览

javadoc - 现在类索引已删除,如何在 java 12 的 html javadoc 中查找类?

我刚刚将 JAVA + Javadoc 升级到版本 12。现在,Javadoc 已完全“重组”为模块。示例:搜索'JComboBox'的描述,我找不到它:没有更多的类索引添加。最后我在磁盘上搜索了一个文件“JComboBox.html”,但感觉很笨拙。

是否有另一种方法可以在新的 Javadoc 中找到类描述?

0 投票
3 回答
9357 浏览

java - 如何使用 Gradle 启用 Java 12 预览功能?

当我尝试使用 Gradle构建具有switch 表达式的 Java 代码时,它会引发此错误:

我试过跑步./gradlew build --enable-preview,但也没有用。

我正在使用 Gradle 5.3.1。

0 投票
1 回答
252 浏览

java - 不同的项目 SDK 和语言级别

我最近下载了 IntelliJ IDEA(2018 版)和 Java JDK 12。当我使用 JDK 12 配置 IntelliJ 时,项目语言级别卡在 Java 9。因此,我无法使用 Java 12 中的新功能。

我在网上搜索过这个问题,但是还没有发现这个问题,主要是因为JDK 12刚刚在上周(2019年3月19日)发布。

项目结构: 项目结构

0 投票
2 回答
207 浏览

java - LocalTime.parse 在 JDK 12 上的行为不同

我有以下代码在 Oracle JDK 10 上完美运行

它输出以下...

当我在 OpenJDK 12 上运行相同的代码时,我得到了这个......

有人有什么想法吗?

0 投票
1 回答
2316 浏览

cxf - 如何使用 JDK 12 运行 Apache CXF wadl2java?

以下命令曾经完美地工作:

它不再适用于最新版本的 JDK - 12。我已经下载了最新版本的 Apache CXF,但仍然出现相同的错误:

任何人都可以提供有关如何解决此问题的提示吗?

0 投票
1 回答
1800 浏览

java - 推断类型不符合不相关变量的等式约束错误

我有以下一段代码

如果我从终端执行该类,则会java src/TeeingCollector.java 收到以下错误:

如果我取消注释该行var strs = List.of("abc");,则代码将毫无问题地执行。

Java 版本(适用于 macOS):

使用以下版本(旧)运行相同的代码不会产生错误

注意:如果我编译它然后运行,我对 macOS 的两个构建都没有任何错误,所以似乎只有java TeeingCollector.java它不能正常工作