Questions tagged «java-9»

使用此标记可解决特定于Java 9的问题,Java 9是Java平台的版本9,于2017年9月21日发布。在大多数情况下,您还应指定java标记。


10
如何在没有JVM参数的情况下在Java 9中隐藏警告“非法反射访问”?
我只是尝试使用Java 9运行服务器,并收到下一个警告: WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by io.netty.util.internal.ReflectionUtil (file:/home/azureuser/server-0.28.0-SNAPSHOT.jar) to constructor java.nio.DirectByteBuffer(long,int) WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.ReflectionUtil WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied …
76 java  jvm  netty  java-9 

4
takeWhile()与Flatmap的工作方式不同
我正在用takeWhile创建片段,以探索其可能性。当与flatMap结合使用时,其行为与预期不符。请在下面找到代码片段。 String[][] strArray = {{"Sample1", "Sample2"}, {"Sample3", "Sample4", "Sample5"}}; Arrays.stream(strArray) .flatMap(indStream -> Arrays.stream(indStream)) .takeWhile(ele -> !ele.equalsIgnoreCase("Sample4")) .forEach(ele -> System.out.println(ele)); 实际输出: Sample1 Sample2 Sample3 Sample5 预期输出: Sample1 Sample2 Sample3 期望的原因是takeWhile应该一直执行到内部条件变为真为止。我还在平面图中添加了打印输出语句以进行调试。流仅返回两次,这与期望一致。 但是,这在链中没有平面图的情况下也很好用。 String[] strArraySingle = {"Sample3", "Sample4", "Sample5"}; Arrays.stream(strArraySingle) .takeWhile(ele -> !ele.equalsIgnoreCase("Sample4")) .forEach(ele -> System.out.println(ele)); 实际输出: Sample3 此处,实际输出与预期输出匹配。 免责声明:这些摘录仅用于代码实践,不能用于任何有效的用例。 更新: 错误JDK-8193856:该修补程序将作为JDK 10的一部分提供。更改将更正whileOps …

2
Java 8和Java 9中的Stream.peek()方法
我正在学习Java 8 lambda表达式,并且想问一下下面的Java代码,这些代码与peek我遇到的函数接口中的方法有关。 在IDE上执行程序时,它不提供任何输出。我期望它会给2, 4, 6。 import java.util.Arrays; import java.util.List; public class Test_Q3 { public Test_Q3() { } public static void main(String[] args) { List<Integer> values = Arrays.asList(1, 2, 3); values.stream() .map(n -> n * 2) .peek(System.out::print) .count(); } }
73 java  lambda  java-8  java-9  peek 

4
RxJava API和Java 9 Flow API之间的区别
在最近几个主要版本的Java的每次迭代中,似乎都有一致的新方法来管理并发任务。 在Java中9,我们有流API这类似于可流动API RxJava,但与Java 9有一个更简单的一组类和接口。 Java 9 有Flow.Publisher,Flow.Subscriber,Flow.Processor,Flow.Subscription,和SubmissionPublisher,这就是它。 RxJava的 拥有全包的流API状类,即io.reactivex.flowables,io.reactivex.subscribers,io.reactivex.processors,io.reactivex.observers,和io.reactivex.observables这似乎做同样的事情。 这两个库之间的主要区别是什么?为什么有人会使用Java 9 Flow库,而不是使用更多种类的RxJava库,反之亦然?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.