小编Nam*_*man的帖子

CompletableFuture的完成处理程序在哪个线程中执行?

我有一个关于CompletableFuture方法的问题:

public <U> CompletableFuture<U> thenApply(Function<? super T, ? extends U> fn)
Run Code Online (Sandbox Code Playgroud)

事情是JavaDoc说的就是这样:

返回一个新的CompletionStage,当该阶段正常完成时,将使用此阶段的结果作为所提供函数的参数执行.有关特殊完成的规则​​,请参阅CompletionStage文档.

线程怎么样?这将在哪个线程中执行?如果未来由线程池完成怎么办?

java multithreading forkjoinpool completable-future

21
推荐指数
4
解决办法
3929
查看次数

什么是Java 9中的开放模块以及如何使用它

模块与open关键字之前和之后有什么区别?
例如:

open module foo {
}

module foo {
}
Run Code Online (Sandbox Code Playgroud)

java java-9 java-module module-info

21
推荐指数
2
解决办法
4713
查看次数

Java 9的版本字符串方案中第4个数字是什么意思?

根据这个关于Java 9的新版本字符串方案的博客,该版本应该是,例如MAJOR.MINOR.SECURITY,应该有3个数字和2个句点.

但是,使用Azul的Zulu 9,当我打印Java版本时,它有4个数字和3个句点:

./jdk/bin/java -version
openjdk version "9.0.0.15"
OpenJDK Runtime Environment (Zulu build 9.0.0.15+181)
OpenJDK 64-Bit Server VM (Zulu build 9.0.0.15+181, mixed mode)
Run Code Online (Sandbox Code Playgroud)

4个数字代表什么?

versioning version azul-zulu java-9

20
推荐指数
2
解决办法
2157
查看次数

gradle java9无法定位平台:'Java SE 9'使用工具链:'JDK 8(1.8)'

我想在eclipse氧气里面的gradle项目中使用java9.当我跑:

Run as> Gradle Test on  GreeterTest.java
Run Code Online (Sandbox Code Playgroud)

使用以下代码:

package hello.test;

import static org.junit.jupiter.api.Assertions.*;    
import org.junit.jupiter.api.Test;    
import hello.Greeter;

class GreeterTest {

    @Test
    void test() {
        Greeter greeter = new Greeter();
        assertEquals("Hello world", greeter.sayHello());
    }
}
Run Code Online (Sandbox Code Playgroud)

和我上课一样测试:

package hello;

public class Greeter {
  public String sayHello() {
    return "Hello world!";
  }
}
Run Code Online (Sandbox Code Playgroud)

我收到错误消息

无法定位平台:'Java SE 9'使用工具链:'JDK 8(1.8)'.

我的eclipse.init是

-startup ../Eclipse/plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library /Users/stein/.p2/pool/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_\1.1.550.v20170928-1359
-product org.eclipse.epp.package.jee.product
-showsplash org.eclipse.epp.package.common
--launcher.defaultAction openFile
--launcher.a/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/jre/bin
-vmargs
-Dosgi.requiredJavaVersion=1.9
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Dosgi.requiredJavaVersion=1.9
-Xms256m
-Xmx1024m
--add-modules=ALL-SYSTEM
-Xdock:icon=../Resources/Eclipse.icns …
Run Code Online (Sandbox Code Playgroud)

java gradle java-9 eclipse-oxygen

20
推荐指数
2
解决办法
2万
查看次数

如何记录 Java Record 参数?

应该如何记录Java Record参数?我指的是最终成为构造函数参数、类字段的参数。

我试过:

/**
 * @param name the name of the animal
 * @param age the age of the animal
 */
public record Animal(String name, int age)
{
}
Run Code Online (Sandbox Code Playgroud)

但 IntelliJ IDEA 将@params标记为错误。我找不到有关这应该如何工作的在线示例。我发现的最接近的讨论是https://bugs.openjdk.java.net/browse/JDK-8225055

我发现JDK 中的一些单元 测试似乎暗示这应该有效。也许这是一个IDE错误?

我使用的是 OpenJDK 14+36-1461,IDEA 2020.1。

以防万一,我针对 IDEA提交了错误报告

java javadoc intellij-idea java-14 java-record

20
推荐指数
1
解决办法
720
查看次数

跳过列表 - 曾经使用过吗?

我想知道这里是否有人使用跳过列表.它看起来与平衡二叉树具有大致相同的优点,但实现起来更简单.如果你有,你是自己编写的,还是使用预先编写的库(如果有的话,它的名字是什么)?

binary-tree skip-lists data-structures

19
推荐指数
4
解决办法
5962
查看次数

如何表达maven对Java ee功能的依赖以转换到Java 9?

我们使用maven并拥有依赖于其他内部工件的工件.我正在迁移到,并且打算首先将所有内容迁移到Java 9而不模块化代码(即在未命名的模块中).

我遇到的问题是我们依赖java.xml.bind,现在不包含在默认模块中.是否有一种"正确"的方式来表达对java.xml.bindMaven的依赖?

java jaxb maven java-platform-module-system java-9

19
推荐指数
3
解决办法
1万
查看次数

如何使用JDK 10安装Netbeans

我尝试使用JavaHome的命令行:

netbeans-trunk-nightly-201803230002-javase-windows.exe --javahome "C:\Program Files\Java\jdk-10"
Run Code Online (Sandbox Code Playgroud)

它应该工作,但我收到一条消息:

指定位置C:\ Program Files\Java\jdk-10中没有JRE

在此输入图像描述

谢谢!

java install netbeans java-home java-10

19
推荐指数
2
解决办法
5万
查看次数

Java IntStream迭代vs生成何时使用什么?

似乎IntStream.iterate只是的轻量级订购版本IntStream.generate。是真的吗 如果没有,核心区别是什么?

java java-8 java-stream

19
推荐指数
3
解决办法
577
查看次数

什么是 switch 表达式,它们与 switch 语句有什么不同?

作为 Java SE 12 的一部分,引入了switch表达式,并且从 Java SE 14 开始,它们已经标准化。它们与switch陈述有何不同?

java switch-statement switch-expression java-14

19
推荐指数
3
解决办法
1178
查看次数