草庐IT

bit_stream

全部标签

java - Stream.findFirst 与 Optional.of 不同?

假设我有两个类和两个方法:classScratch{privateclassA{}privateclassBextendsA{}publicOptionalgetItems(Listitems){returnitems.stream().map(s->newB()).findFirst();}publicOptionalgetItems2(Listitems){returnOptional.of(items.stream().map(s->newB()).findFirst().get());}}为什么getItems2编译而getItems给出编译器错误incompatibletyp

intellij-idea - 如何将 intellij 32bit xmlx 增加超过 1GB?

我在具有4GBRAM的32位WindowsXP上使用32位Intellij。我正在尝试将intellijxxx增加到1.5GB:-Xmx1500m所以我知道JVM在32位系统中支持1.5GB的RAM。但是这个错误是从JVM抛出的:TheJVMcouldnotbestarted.Themaximumheapsize(-Xmx)mightbetoolarge...我无法将intellijXmx增加到900MB以上请帮帮我! 最佳答案 您不能这样做,因为JVM需要将所有堆分配在一个连续的block中,这可能由于内存碎片而无法实现。Seem

64-bit - 如何检测 x64 Windows 上是否安装了 32 位 Java,仅查看文件系统和注册表?

我需要确定某个特定系统是否安装了32位Java。我正在执行一个远程查询,它只允许我访问文件系统和注册表,因此我无法尝试运行java.exe或运行任何Java代码。我还想确保我检测到IBM和SunJava以及任何其他发行版,它们似乎将东西放在文件系统和注册表的不同位置。我想出的最好办法是检查C:\Windows\SysWOW64\java.exe。这是测试32位Java是否存在的可靠方法,还是某些版本不会将java.exe放入该文件夹?更新:我仍在寻找更可靠的答案。为了清楚起见,我无权访问命令提示符。此外,我想检测Java,无论发布者是谁,安装的版本号是什么,无论用户选择安装它的路径是什

64-bit - 为什么我应该使用 64 位 JDK 而不是 32 位版本?

我使用Eclipse和64位Windows并开发Java桌面应用程序。到目前为止,我只使用了32位的JDK,但是Java开发是否有任何理由更改为64位的JDK? 最佳答案 不,对于您的开发时间Activity,32位可能就足够了。最新的JVM支持指针压缩,但除此之外,64位版本的应用程序需要更多内存才能运行。如果您的应用程序需要寻址更多内存(32位应该寻址4Gb,但操作系统考虑有时会减少),请仅使用64位。除了浪费一点内存之外,64位版本应该不是问题,但有趣的是,我听到提示的通常坚如磐石的JVM的所有莫名其妙的崩溃都在64位版本中。

java IO异常: Stream Closed

这是我目前拥有的代码:publicclassFileStatusextendsStatus{FileWriterwriter;publicFileStatus(){try{writer=newFileWriter("status.txt",true);}catch(IOExceptione){e.printStackTrace();}}publicvoidwriteToFile(){Stringfile_text=pedStatusText+""+gatesStatus+""+DrawBridgeStatusText;try{writer.write(file_text);writer

java - 为什么这个 java Stream 被操作了两次?

Java8API说:Traversalofthepipelinesourcedoesnotbeginuntiltheterminaloperationofthepipelineisexecuted.那么为什么会抛出以下代码:java.lang.IllegalStateException:streamhasalreadybeenoperateduponorclosedStreamstream=Stream.of(1,2,3);stream.filter(x->x>1);stream.filter(x->x>2).forEach(System.out::print);API的第一个过滤操作

java - Stream.forEach 是否尊重顺序流的相遇顺序?

Stream.forEach的Javadoc说(强调我的):Thebehaviorofthisoperationisexplicitlynondeterministic.Forparallelstreampipelines,thisoperationdoesnotguaranteetorespecttheencounterorderofthestream,asdoingsowouldsacrificethebenefitofparallelism.Foranygivenelement,theactionmaybeperformedatwhatevertimeandinwhatevert

Java 8 Stream,得到头和尾

Java8引入了Stream类似于Scala的Stream的类,一个强大的惰性结构,使用它可以非常简洁地做这样的事情:deffrom(n:Int):Stream[Int]=n#::from(n+1)defsieve(s:Stream[Int]):Stream[Int]={s.head#::sieve(s.tailfilter(_%s.head!=0))}valprimes=sieve(from(2))primestakeWhile(_我想知道在Java8中是否可以做到这一点,所以我写了这样的东西:IntStreamfrom(intn){returnIntStream.iterate(n

java - 如何将计数器插入 Stream<String> .forEach()?

FileWriterwriter=newFileWriter(output_file);inti=0;try(Streamlines=Files.lines(Paths.get(input_file))){lines.forEach(line->{try{writer.write(i+"#"+line+System.lineSeparator());}catch(Exceptione){e.printStackTrace();}});writer.close();}我需要用行号写行,所以我尝试在.forEach()中添加一个计数器,但我无法让它工作。我只是不知道把i++放在哪里;进入代

java - 将 Stream 转换为字符串 Java/Groovy

我从网上窃取了这个片段。但它看起来被限制在4096字节,并且是相当丑陋的IMO。有人知道更好的方法吗?顺便说一句,我实际上正在使用Groovy...StringstreamToString(InputStreaminput){StringBufferout=newStringBuffer();byte[]b=newbyte[4096];for(intn;(n=input.read(b))!=-1;){out.append(newString(b,0,n));}returnout.toString();}编辑:我在Groovy中找到了更好的解决方案:InputStreamexportTe