草庐IT

非常规

全部标签

java - BufferedInputStream 到 ByteArrayOutputStream 非常慢

我有一个与以下链接非常相​​似的问题:PDFtobytearrayandviceversa主要区别在于我试图通过包含二进制的ServerSocket而不是文件来解释Socket连接。这按预期工作。但是,我遇到的问题是这个过程需要很长时间才能读入内存,大约1分30秒读取500字节(尽管每个流的大小会有很大差异)这是我的代码:BufferedInputStreaminput=newBufferedInputStream(theSocket.getInputStream());byte[]buffer=newbyte[8192];intbytesRead;ByteArrayOutputStr

c# - 非常大的整数的快速乘法

如何将两个大于32个字符的非常大的数字相乘,例如100的乘法!122!或22^122与11^200在分而治之的帮助下,有没有人有java代码或C#代码? 最佳答案 你可能应该使用java.math.BigInteger.这允许表示超过2^32甚至2^64的整数值。BigInteger值基本上仅受程序可用内存量的限制,即在32位系统上约为4GB,在64位系统上有相当多的可用物理+虚拟内存。importjava.math.BigInteger;classFoo{publicstaticvoidmain(Stringargs[]){Big

java - 非常简单的Swing骰子程序中的神秘(并发/组件绘制?)错误

不好意思的问题标题,很抱歉,我对此错误的原因感到困惑,并且不知道如何表达该问题。我正在学习基本的Swing,并从在线书籍《Java编程简介》中学习thisexercise。我没有遵循这封信的指示,而是尝试这样做:有一个显示两个骰子的可视表示的窗口当您单击其中一个骰子时,它会“滚动”并显示新值我的实现:一个非常基本的JDie对象,它扩展了JPanel覆盖paintComponent方法以绘制模具表示每次更改值都会更改模具颜色,仅用于视觉提示添加了一个监听器,以在按下鼠标然后“掷出”骰子时重绘(repaint)该错误非常具体:运行DieTest主方法调整窗口大小以适合两个模具单击第二个骰子

java - 在 Java 中将常规日期转换为儒略日期,反之亦然

我编写了一个简单的代码,可以将常规日期转换为Julian日期。对于那些需要相同转换的人来说,这是代码:publicintconvertToJulian(StringunformattedDate){/*UnformattedDate:ddmmyyyy*/intresultJulian=0;if(unformattedDate.length()>0){/*Daysofmonth*/int[]monthValues={31,28,31,30,31,30,31,31,30,31,30,31};StringdayS,monthS,yearS;dayS=unformattedDate.subst

java - DisposableObserver 与(常规)观察者

从我在源代码中看到的,在实现方面的区别在于DisposableObserver实现了Disposable接口(interface)。在dispose中,它调用了一个辅助函数来自行处置。@Overridepublicfinalvoiddispose(){DisposableHelper.dispose(s);}但实际上,两者之间有什么区别。常规的Observable垃圾不会在不再需要时立即收集吗?在Observer上使用DisposableObserver的默认用例是什么? 最佳答案 主要是为了避免内存泄漏,因为它可以让你随时取消订阅

java - 解析非常大的 XML 文件并编码为 Java 对象

我有以下问题:我有非常大的XML文件(如300+Meg),我需要解析它们以便将它们的一些值添加到数据库中。这些文件的结构也非常复杂。我想使用StaxParser,因为它提供了一次只对XML文件的一部分进行拉式解析(从而处理)的很好的可能性,因此不会将整个文件加载到内存中,但另一方面可以通过Stax(至少在这些XML文件上)很麻烦,我需要编写大量代码。从后一种观点来看,如果我可以将XML文件编码为Java对象(就像JAX-B所做的那样),这将对我有很大帮助,但是这会同时加载整个文件以及内存中的大量对象实例。我的问题是,是否有某种方法可以按顺序拉式解析(或仅部分解析)文件,然后仅将这些部分

java - 从Java中的非常大的图像文件中读取区域

是否有一个Java库可以读取非常大的图像(例如JPEG)文件(>10,000x10,000像素)的区域,而无需将整个图像保存在内存中。或者,哪个Java库能够以最少的开销处理非常大的图像文件。 最佳答案 标准ImageIO允许您读取(大)图像的区域,而无需先将整个图像读入内存。RectanglesourceRegion=newRectangle(x,y,w,h);//TheregionyouwanttoextractImageInputStreamstream=ImageIO.createImageInputStream(input

java - 非常小的数字

我正在编写一个Mandelbrot查看器。一切正常,除了当你达到非常高的变焦时,图像开始在大约10^(-14)时像素化。我猜是因为我的双变量内存不足。我可以使用什么来允许我使用非常小的数字?我需要使用java.lang.Math类,我认为它不支持bigdecimal 最佳答案 如果你真的需要任意精度,最好的选择可能是BigDecimal.如果您关心效率,我怀疑您最好尝试扩展您的值并将它们保持在1.0附近。 关于java-非常小的数字,我们在StackOverflow上找到一个类似的问题:

java - 如何将一个非常大的数字分配给 BigInteger?

给定以下输入:453453453456465765234923423094723472394723423482304823095734957320948305712324000123123我试图通过以下方式将这些值分配给BigInteger。publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);BigIntegernum1=BigInteger.valueOf(sc.nextLong());sc.nextLine();BigIntegernum2=BigInteger.valueOf(sc.nextLong

Java:非常简单的散点图实用程序

我知道有很多java绘图库的比较,但我没有找到我需要的。我只想要一个非常简单的工具包,它可以根据一组坐标创建散点图图像。没有GUI,没有交互,没有花哨的显示,只有带点的基本XY坐标系。使用提供的功能比我需要的多得多的东西不会是世界末日,但我宁愿不用。你知道我在找什么吗? 最佳答案 你看过JFreeChart了吗??虽然它可以做一些非常高级的事情,但它也可以做一些简单的事情。下面显示的是其散点图功能的屏幕截图。(来源:jfree.org) 关于Java:非常简单的散点图实用程序,我们在St