草庐IT

好得多

全部标签

java - 使用 Jsch 生成 4096 位 RSA key 比 2048 位慢得多

我需要为客户端/服务器应用程序创建RSA公钥和私钥,我正在使用JSchlibrary这样做。到目前为止,我一直在生成4096位key,因为我希望获得尽可能最好的安全性。然而,这需要3~5分钟,而生成2048位key需要大约10秒。有一个sscce:importcom.jcraft.jsch.JSch;importcom.jcraft.jsch.JSchException;importcom.jcraft.jsch.KeyPair;publicclassKeyGenerator{publicstaticvoidmain(String[]args){JSchjsch=newJSch();S

java - 为什么在 JFrame 上绘图比在 JPanel 上绘图慢得多?

我的问题是,为什么相同的swing-custom-painting例程在JPanel上绘制比直接在JFrame上绘制快近16倍?它只是双缓冲吗?不可能吧?背景:当JFrame未被遮挡(特别是仅被部分遮挡)时,我遇到了自定义绘画未刷新的问题。在搜索SO之后,我决定硬着头皮想办法将JPanel的子类连接到bluddy-NetBeans-form-designer表单中。对于处于相同情况的任何人:在NetBeans中,您需要创建一个新的标准类(不是JPanel表单),它恰好扩展了JPanel,并手动编写其中的所有内容(没有GUI设计器,就像good-ole-天,叹息)。然后你添加一个标准的J

java - 有代码重复并使其非常简单/可读更好,还是没有重复(使用泛型)但要复杂得多?

总的来说,我经常遇到这种情况。我的一些同事更喜欢非常简单、易于阅读的类,即使这意味着有一些代码重复,而我尽我所能避免代码重复,即使这意味着要制作更复杂的架构。最佳做法是什么?我只使用Java工作。 最佳答案 我总是喜欢没有重复代码的解决方案。即使更复杂的架构一开始更难理解,但维护的好处远远超过学习曲线。 关于java-有代码重复并使其非常简单/可读更好,还是没有重复(使用泛型)但要复杂得多?,我们在StackOverflow上找到一个类似的问题: https:

java - Ant Junit 测试通过 Ant 运行的速度比通过 IDE 慢得多 - 要看什么?

我正在通过ant运行我的junit测试,它们的运行速度比通过IDE慢得多。我的Ant电话是:通过Ant运行时,在我的IDE中几乎瞬时运行的相同测试(0.067秒)需要4.632秒。过去,我已经能够通过使用junitfork参数来加速像这样的测试问题,但这在这种情况下似乎没有帮助。我可以查看哪些属性或参数来加快这些测试?更多信息:我使用的是来自IDE的报告时间与junit任务输出的时间。这不是Ant运行结束时报告的总时间。奇怪的是,这个问题已经自行解决了。是什么导致了这个问题?系统在本地磁盘上运行,所以这不是问题。 最佳答案 这是一个

java 8u31 插件导致签名的小程序加载速度慢得多

我注意到使用最新的插件(包含在java8u31和7u75中)加载已签名的小程序要慢得多。我已经调试了很多情况,发现问题与jnlp文件中引用的jar文件的大小直接相关。问题是每次小程序启动时,都会对缓存的jar文件进行一些“重新索引”,这需要时间。为了重现这个问题,我这样做了:我创建了一个最小的小程序,在我用来部署它的jnlp文件中,我添加了几个不相关的.jar文件(甚至没有被引用,所以类加载器不加载它们)相当大(例如30MB)。当然,我在jnlp中使用版本控制并捕获所有http流量以确保延迟不是因为流量(重新下载或证书吊销检查等)。我在启用跟踪的情况下运行小程序,然后查看xml跟踪日志

java不可变类慢得多

我需要一些Complex数学库,所以我在使用不可变Complex的库和使用可变Complex的库之间犹豫不决。显然,我希望计算运行得相当快(除非它会破坏可读性等)。所以我创建了可变速度与不可变速度的简单测试:finalclassMutableInt{privateintvalue;publicintgetValue(){returnvalue;}publicvoidsetValue(intvalue){this.value=value;}publicMutableInt(){this(0);}publicMutableInt(intvalue){this.value=value;}}f

java - 从 Hibernate hbm.xml 转换为注解

我有一个相当大的程序,它使用Hibernate来满足其ORM需求。由于项目的年龄,它使用hbm.xml来配置它。我想将其转换为注释,但我花了几天(几周?)手动添加注释然后测试所有内容。是否有任何工具可以帮助促进这一点? 最佳答案 我不这么认为。但是您不必一次性完成,您可以很容易地混合注释和.xml配置。另外,为什么你觉得需要转换为注释?我不会说它们比xml配置好得多,以保证投资时间来转换它们。 关于java-从Hibernatehbm.xml转换为注解,我们在StackOverflow上

c++ - 是否有用于 C++ 的 Python StringIO/StringIO 之类的东西?

我正在使用Boost的序列化库序列化大量数据以通过网络发送。Boost的序列化库需要一个中间文件来进行序列化和反序列化。传输的数据量使得执行所有这些操作变得很尴尬。将事情保存在内存中会好得多。C++中是否有任何类似于Python的cStringIO/StringIO的东西可以用来伪造Boost的序列化?提前致谢。 最佳答案 是的,它叫stringstream. 关于c++-是否有用于C++的PythonStringIO/StringIO之类的东西?,我们在StackOverflow上找到

找到-print0选项似乎要慢得多

我正在尝试调整大于特定尺寸的照片大小,以便在过去10年中由系统收集的100张照片。我在用find和imagemagick我写了这个脚本来做。#!/bin/bashResizeSize="1080^>"Processing=0find.-typef-iname'*JPG'-print0|\whileIFS=read-r-d''image;do((Processing++))echoProcessingfile:$ProcessingechoResizing"""$image"""convert"""$image"""-resize$ResizeSize"""$image""___"if[$?-e

c++ - 使用 SSE 计算矩阵乘积比使用直接算法慢得多

我想使用直接算法将两个矩阵相乘一次:templatevoidmultiplicate_straight(T**A,T**B,T**C,intsizeX){T**D=AllocateDynamicArray2D(sizeX,sizeX);transpose_matrix(B,D,sizeX);for(inti=0;i(D);}还有一次是通过使用SSE函数。为此,我创建了两个函数:templatevoidSSE_vectormult(T*A,T*B,intsize){__m128da;__m128db;__m128dc;#ifdeflinuxdoubleA2[2],B2[2],C[2]__