【java – 使用350列搜索表和使用25列搜索表之间的性能差异】教程文章相关的互联网学习教程文章

Java:线性算法但非线性性能下降,它来自哪里?【代码】

我目前正在使用自然语言处理开发的应用程序遇到严重的性能问题.基本上,给定文本,它收集各种数据并进行一些数字处理. 对于每个句子,它确实完全相同.用于收集统计数据的算法不会随先前读取的数据而发展,因此保持不变. 问题是处理时间根本不是线性演变的:10k句子为1分钟,100k为1小时,1M为1天…… 我尽我所能,从重新实现基本数据结构到对象池再循环实例.行为不会改变.我得到的时间非线性增加似乎无法通过更多的hashmap冲突,IO等待,也没...

java中性能密集的字符串拆分和操作【代码】

通过非常简单的分隔符分割字符串的最有效方法是什么? 一些背景: 我正在移植一个我在C中用一堆指针算法编写的函数到java并且它非常慢(经过一些优化仍然慢了5 *).对它进行了分析后,发现很多开销都在String.split中 有问题的函数采用主机名或IP地址并使其成为通用的: 123.123.123.123-&GT *.123.123.123 a.b.c.example.com-&GT *.example.com 这可以定期运行数百万个项目,因此性能是一个问题. 编辑:转换的规则是: >如果是IP地址,...

java – XSLT性能注意事项

我正在开发一个使用以下技术的项目.Java,XML,XSL 大量使用XML.我经常需要 – 将一个XML文档转换为另一个 – 应用一些业务逻辑后,将一个XML文档转换为另一个. 所有内容都将构建到EAR中并部署在应用程序服务器上.由于用户数量巨大,我需要在定义编码标准之前考虑性能. 我不是XSL的忠实粉丝,但我试图理解在这种情况下使用XSL是否是更好的选择,还是我应该只使用Java.请注意,我有将XML转换为XML格式的要求.我没有要求将XML转换为HTML等其...

java – Spring – 解耦与性能【代码】

我有一个具有以下java文件的应用程序: 服务:AccountService.java UserService.java MessageService.java的DAO:AccountDAO.java UserDAO.java MessageDAO.java表:ACCOUNTS USERS MESSAGES在MessageService.java中,我有一个函数newMessage(),它必须查询来自所有3个表的数据. (1)根据Spring的解耦标准,这就是应该如何调用:AccountDAO.java -- ACCOUNTS/ MessageService.java -- MessageDAO.java -- MESSAGESUserDAO.java -- USER...

Java性能分析:私有属性Getter具有较大的基准时间【代码】

我正在使用TPTP来描述一些运行缓慢的Java代码,我遇到了一些有趣的东西.我的一个私有属性getter在执行时间分析结果中具有较大的基本时间值.公平地说,这个属性被称为很多次,但我绝不会猜到这样的属性需要很长时间:public class MyClass{private int m_myValue; public int GetMyValue(){return m_myValue;} }好的,所以在课堂上显然有更多的东西,但正如你所看到的,当调用getter时没有其他事情发生(只返回一个int).一些数字给你: ...

java – 为什么我的流复制过程的性能稳定下降【代码】

在复制大文件期间,此代码的工作速度越来越慢.难道我做错了什么?InputStream ms2 = new BufferedInputStream(new FileInputStream("/home/fedd/Videos/homevid.mp4"));OutputStream fos2 = new BufferedOutputStream(new FileOutputStream("testfile2.mp4", true));try {int byt;int i = 0;long time = System.currentTimeMillis();while ((byt = ms2.read()) != -1) {fos2.write(byt);i++;if (i > 100000) {i = 0;long took = Sys...

Java程序员编程性能优化必备的34个小技巧【代码】【图】

1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:控制资源的使用,通过线程同步来控制资源的并发访问; 控制实例的产生,以达到节约资源的目的; 控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。2.尽量避免随意使用静态变量 要知道,当某个对象被定义为static变量所引用,那么GC...

java – 如何提高SWT绘图性能?

我被赋予了改善股票市场图表软件性能的任务,该软件使用SWT的GC来绘制图表.图表绘图需要改进,因为图表有时会每秒重绘多次,并且会占用大量处理器时间. 谷歌搜索了一下后,我发现了一个blog entry,它建议直接修改ImageData对象,而不是使用GC的方法,这样可以获得很好的性能提升. 使用这种技术绘制水平和垂直直线和方形形状是一件容易的事,但是当涉及绘制圆形和其他不规则形状时,没有简单的方法. 有没有人知道是否有一个库在ImageData对象...

java – 以非静态方式访问方法是否会影响性能?【代码】

假设这里的所有方法调用都是静态的,如下所示:public class Util {public static void method1() {} }以静态方式访问:Util.method1(); Util.method2(); Util.method3();以非静态方式访问Util util = new Util(); util.method1(); util.method2(); util.method3();两种方式都有任何性能差异吗?我知道这样做的第一种方法是正确访问它.但第二种方法只实例化一次util对象而不是三次.除了正确访问这些方法之外,我找不到任何指向任何东...

有没有比在“宠物商店”中更好地比较电子商务环境中.Net和Java的一般性能的方法?

在电子商务类型设置中比较Java EE和.Net性能时,我一直在使用Java Pet Store和.Net Pet Store示例for years. 有没有比这种类型的应用程序更好的方法来比较Java EE和.Net的性能? 更新: 正如一些人在下面指出的那样,实现,框架版本,体系结构和硬件对性能的影响要大于使用.Net与Java.我完全同意这一点.但是,记住这一点,我仍然想知道什么样的一般比较最好.由于宠物店是一个相当成熟和一般的电子商务测试案例,我倾向于认为它对基线非常有...

java – 值比较和值赋值之间是否存在性能差异?【代码】

请考虑以下两个代码示例: 例1.public void setValue(int value) {mValue = value; }例2.public void setValue(int value) {if (mValue != value){mValue = value;} }假装您的任务是将一些Java代码优化到绝对最大值,超出所有常识. 第二个代码示例是第一个的优化吗?我的意思是,在最低级别的Java或JVM中if条件检查和int赋值之间是否存在任何差异(无论多么微小)?解决方法:第二种可能是反优化,因为在现代处理器上,分支往往很昂贵(主要...

java – 性能iText vs.PdfBox【代码】

我正在尝试将pdf(我最喜欢的书籍Effective Java,如果它的问题)转换为文本,我检查了iText和Apache PdfBox.我发现性能有很大的不同:使用iText需要2:521,使用PdfBox:6:117.如果我的代码为PdfBOxPDFTextStripper stripper = new PDFTextStripper(); BUFFER.append(stripper.getText(PDDocument.load(pdf)));这是针对iText的PdfReader reader = new PdfReader(pdf); for (int i = 1; i <= reader.getNumberOfPages(); i++) {BUFFER....

如何加快Java DatagramSocket的性能?【代码】

我正在使用Java DatagramSocket类将UDP数据报文发送到端点.数据报必须以60ms的间隔到达端点. 我发现DatagramSocket.Send通常可以采用> 1 ms(接近2)打包并发送不超过56个字节的数据包.这导致我的数据包以62 ms的间隔传送,而不是60 ms. 这是在Windows Vista机器上.以下是我测量时间的方法:DatagramPacket d = new DatagramPacket(out, out.length, address, port);long nanoTime = System.nanoTime();socket.send(d);long diff = Sy...

35 个 Java 代码性能优化归纳,不看可惜!

编辑文章一、前言二、代码优化的目标(1)减小代码的体积(2)提高代码运行的效率三、代码优化细节1、尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内...

java – 如何在camel中实现路由性能测量【代码】

我想在我的路线中计算步骤的时间.我正在寻找使用驼峰AOP启动计时器,运行步骤,停止并记录计时器.但是AOP现在已被弃用了,我看过使用拦截机制,但它之前只添加了“建议”,我之后也需要它.有干净的方法吗?解决方法:你在这里有很多选择,包括追求你最初的想法 1)你可以很容易地挂钩到Camel的EventNotifier,这里有一个基本的例子http://camel.apache.org/eventnotifier-to-log-details-about-all-sent-exchanges.htmlINFO CamelContextFa...