如果catch和finally块都抛出异常会发生什么?
.NET分析器可以显示对托管对象的引用计数。他们如何计算它们?
.net garbage-collection memory-management reference-counting
注释掉Stream.concat时,createLazyStream按预期工作,仅在应用终端操作时初始化.
但是如果你取消注释Stream.concat行,那么你会看到即使没有实际使用也没有初始化两个流(没有应用终端操作)
这是java bug,对吧?什么是变通方法?
@Test
public void testConcat() {
Stream<Integer> stream = createLazyStream();
// Stream<Integer> result = Stream.concat(stream, createLazyStream());
}
private Stream<Integer> createLazyStream() {
return StreamSupport.stream(() -> {
System.out.println("initializing stream");
return IntStream.range(1,10).spliterator();
}, Spliterator.ORDERED, false);
}
Run Code Online (Sandbox Code Playgroud)