草庐IT

activity-stream

全部标签

java - 计算 Stream 的元素

我想计算流中的不同元素,想知道为什么Streamstream=Stream.of("a","b","a","c","c","a","a","d");Mapcounter1=stream.collect(Collectors.toMap(s->s,1,Integer::sum));没用。Eclipse告诉我ThemethodtoMap(Function,Function,BinaryOperator)inthetypeCollectorsisnotapplicableforthearguments((s)->{},int,Integer::sum)顺便说一下,我知道那个解决方案:Mapc

java - UncheckedIOException 和 Stream API 的习语/最佳实践是什么?

Java8正式介绍java.io.UncheckedIOException到带有StreamAPI的lambda的JDK类库,因为lambda表达式不能声明它的throws-clause并且lambda主体不能抛出已检查的异常,例如IOException。UncheckedIOException和StreamAPI的习惯用法/最佳实践是什么?我在什么情况下显式抛出新的UncheckedIOException对象,什么时候应该捕获UncheckedIOException异常? 最佳答案 您将在与当前执行此操作的库方法(Buffered

java - Java8的Stream到底是什么?

我读过Java8InAction,因此我知道什么是Stream以及如何使用它。但是从计算机科学的角度来看,所有的数据都需要存储在一种数据结构中。所以,如何存储Stream?Stream怎么能对这么多种类的集合(如数组、链表、map)执行这么多操作?或者说Stream只是一个接口(interface),需要各种集合来实现这个接口(interface)规定的这些操作?谢谢! 最佳答案 与Collection相比,Stream的一个重要区别是Stream旨在进行延迟评估。从JavaDoc中摘录Streamsarelazy;computat

java - 使用 Java 8 Streams 从列表中仅获取所需的对象

考虑一个Parent具有属性attrib1的类,attrib2和List子级及其相应的getter和setter。Child是另一个具有五个属性的类attrib1-attrib5及其相应的getter和setter。现在我创建了一个Listparent。然后我想过滤掉一个List具有以下条件:-Child.Attrib1>10;所以我通过Java8流创建了以下查询。parent.stream().filter(e->e.getChild().stream().anyMatch(c->c.getAttrib1()>10));但问题是我会得到每个Parent中的所有child目的。在这里我

java - 什么定义了 "active"线程?

在Java并发中,是什么让线程“活跃”?只是它没有空转吗?从技术上讲,“等待”或“暂停”线程是否仍被视为Activity线程? 最佳答案 据我所知,“活跃”一词似乎被广泛使用但从未被定义过。ThreadGroup.enumerate()方法记录为:Copiesintothespecifiedarrayeveryactivethreadinthisthreadgroupanditssubgroups.来自lookingatthesourceforthis,它正在检查Thread.isAlive()方法并将它们添加到可枚举的。由此我推断

java - Java 应用服务器中的 CompletableFuture/parallel Stream

鉴于新的Java8,我们获得了非常好的异步任务特性,例如CompletableFuture和.paralellStream()。如果您按照我的理解在JavaSE中运行它,您将使用ForkJoinPool,但是如果我在例如Wildfly还是TomcatEE?//HereIstartacomp.FuturewithoutgivinganExecutortest=CompletableFuture.supplyAsync(()->timeConsumingMethod());//HereIstartaparallelstreammList.paralell().filter(...).col

java - 如何使用 Java Stream 逐行读取文件

我尝试逐行读取一个长文件,同时尝试从该行中提取一些信息。这是我正在做的一个例子:importjava.io.File;importjava.io.IOException;importjava.nio.file.Files;importjava.util.stream.Stream;publicclassReadFile_Files_Lines{publicstaticvoidmain(String[]pArgs)throwsIOException{StringfileName="c:\\temp\\sample-1GB.txt";Filefile=newFile(fileName);t

java - 新建Eclipse插件项目什么时候选择 "Generate an activator..."

有很多EclipseRCP教程都从明显的第一步开始:“创建一个新的插件项目...”似乎大约。其中70%指定选中“生成一个激活器,一个控制插件生命周期的Java类”。其他人明确表示不要检查该切换。alttexthttp://img179.imageshack.us/img179/6710/newpluginoptions.png我不清楚生成激活器类对您有何作用,何时需要,何时不需要。作为一个突出的选项,你每次创建一个新的插件项目时都会得到(它似乎默认设置)这个选项在我发现的任何地方都没有很好的解释。在创建Eclipse插件项目时选择此选项有什么建议/经验法则?

针对 Active Directory 的 Java 身份验证,身份验证不匹配?

所以我有一些代码正在测试,以确保它能很好地用于身份验证。它可以很好地对抗直接的kerberos,所以我认为AD应该只会有一些小问题。不幸的是,我无法绕过KrbException:KDC不支持加密类型(14)。我知道错误是加密类型不匹配。但我可以kinit很好,只是在我遇到问题的代码中。我没有设置任何东西,所以我认为它应该继承与kinit相同的默认值,但显然情况并非如此。代码-System.setProperty("sun.security.krb5.debug","true");System.setProperty("java.security.krb5.realm","TEST.SQ

java - FindBugs - 使用 ObjectOutputStream 时为 "may fail to close stream"

我有这么一段代码,就是写一个Ojbect到字节数组流:staticbyte[]toBytes(MyTokenstokens)throwsIOException{ByteArrayOutputStreamout=null;ObjectOutputs=null;try{out=newByteArrayOutputStream();try{s=newObjectOutputStream(out);s.writeObject(tokens);}finally{try{s.close();}catch(Exceptione){thrownewCSBRuntimeException(e);}}}c