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

Javamail性能【代码】

我一直在使用javamail从IMAP服务器(目前是GMail)检索邮件. Javamail非常快速地从服务器检索特定文件夹中的消息列表(仅ID),但是当我实际获取消息(仅包含信息甚至不包含内容)时,每条消息大约需要1到2秒.应该使用哪些技术进行快速检索? 这是我的代码:try {IMAPStore store = null;if(store!=null&&store.isConnected())return;Properties props = System.getProperties();Session sessionIMAP = Session.getInstance(props, null);t...

Java编程性能提升篇

以下是平时积累到的一些提升java编程的小技巧,在此做一个小结 1.尽量使用局部变量 调用方法时传递的参数以及在调用中创建的临时变量都保存在分配给改方法的栈(Stack)中,速度较快。其他变量,如静态变量、实例变量等,都在堆(Heap)中创建,速度较慢。 2.没有必要时请不用使用静态变量 使用Java的开发者都知道,当某个对象被定义为stataic变量所引用,这个对象所占有的内存将不会被回收。有时,开发者会将经常调用的对象或者...

Java 性能优化的55个细节(珍藏版)【图】

在Java程序中,性能问题的大部分原因并不在于Java语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。 1、尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源的并发访问; 第二,控制实例的产生,以达到节约资源的目的; 第三,控制数据共享,在...

30个Java性能优化技巧【图】

在Java程序中,性能问题的大部分原因并不在于Java语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。 1、尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源的并发访问; 第二,控制实例的产生,以达到节约资源的目的; 第三,控制数据共享,...

Java中的自动运行时性能回归测试

我正在寻找以自动方式检测代码运行时性能变化的方法.这将以与JUnit类似的方式起作用,但不是测试代码的功能,而是测试速度的突然变化.据我所知,现在没有工具可以自动执行此操作. 所以第一个问题是:有没有可用的工具可以做到这一点? 然后第二个问题是:如果没有可用的工具而我需要自己动手,那么需要解决的问题是什么? 如果第二个问题是相关的,那么以下是我看到的问题: >可变性取决于运行的环境.>如何检测更改,因为Java中的微基准测...

java – 高效的性能测量【代码】

在这个问题中,我想问一下如何测试Java代码的性能.通常的方法是这样做的:long start = System.nanoTime();for( int i=0; i<SOME_VERY_LARGE_NUMBER; i++) {...do something... }long duration = System.nanoTime() - start; System.out.println( "Performance: " + new BigDecimal( duration ).divide( new BigDecimal( SOME_VERY_LARGE_NUMBER, 3, RoundingMode.HALF_UP ) ) );“优化”版本将对System.nanoTime()的调用移动到循环...

Java:使用n个变量或使用硬编码数组元素之间是否存在性能差异?【代码】

我正在为自己制作一个程序,这个问题突然出现了.这个程序处理图形,所以我必须记住性能. 如果我使用多个变量或使用带有硬编码索引的数组,性能是否有差异?如果有,哪个更好? 为了显示:R = (X * 3.2406) + (Y * -1.5372) + (Z * -0.4986); G = (X * -0.9689) + (Y * 1.8758) + (Z * 0.0415); B = (X * 0.0557) + (Y * -0.2040) + (Z * 1.0570);要么RGB[0] = (XYZ[0] * 3.2406) + (XYZ[1] * -1.5372) + (XYZ[2] * -0.4986); RGB...

java – 方法中“太多”局部变量的性能影响?【代码】

我被分配了扩展软件的某个组件(由其他人编写).它是用Android编写的,完全用Java编写(没有我知道的原生/ c组件). 熟悉代码时,我遇到了一个方法(渲染类的绘图方法).该方法涉及一个更新对象的大循环(然后另一个方法将在以后呈现它们).该方法的创建者似乎在循环之前将所有/大多数成员变量和数组以及其他对象的字段缓存到局部变量中.代码看起来像这样:float[] coordArr = mCoordArr;float[] texCoordArr = mTexCoordArr;float[] cArray ...

Java NIO与非NIO性能【代码】

我花了相当多的时间来尝试优化文件哈希算法,以便尽可能地了解最后一滴性能. 查看我以前的SO主题: Get File Hash Performance/Optimization FileChannel ByteBuffer and Hashing Files Determining Appropriate Buffer Size 建议多次使用Java NIO来获得本机性能提升(通过将缓冲区保留在系统中而不是将它们引入JVM).但是,我的NIO代码在基准测试中运行得相当慢(使用每种算法反复散列相同的文件,以消除任何可能导致结果偏差的操作系统...

java性能优化(1)

性能优化需要优化系统中性能最差的组件! 1.性能的参考指标: 执行时间 cpu时间 内存分配 磁盘吞吐量 网络吞吐量 响应时间等 2. 需要优化的方面: 磁盘IO 网络操作 CPU 异常 数据库 锁竞争 内存 等方面 3.性能调优层次 设计调优(所有调优的最上层) 代码调优 jvm调优 数据库调优 操作系统调优

java – 如何提高Solr性能?

我们如何使用Solr:我们正在存储7K文档,其中3k属性附加到solr中的一个文档.每个属性都在solr上编制索引,以便对这些属性进行搜索/排序.我们根据搜索/过滤条件从solr获取数据,其中400属性附加到一个文档.因此,当我们尝试在solr中使用1个属性搜索某些文本时(通过设置fl =“projectId”),在solr控制台上显示结果几乎不需要1秒,这很好. 但是,如果我们尝试获取相同搜索条件的100个属性(将返回带有4K属性的7K文档中匹配文档(~50)的字符串~...

java – 可选的`orElse`懒惰评估失败导致性能损失【代码】

考虑具有用户首选项系统的应用程序的以下用例: 我们想获得偏好MyFlag的bool值.在最好的情况下,我们希望它来自当前用户的设置.如果失败,我们希望从默认设置中获取MyFlag.即使失败,也要扔掉. 设置在服务器上.此连接速度很慢,可能会失败.获取设置并获得偏好也都会失败.所以让我们使用javas Optionals:public static boolean getMyFlag()throws NoSuchElementException {return getUserOrDefaultPreference("MY_FLAG"); }private Boo...

java – AWS Lambda性能问题

我使用与aws lambda(java)集成的aws api网关,但我在这种方法中看到了一些严重的问题.删除服务器并让您的应用程序开箱即用的概念非常好,但这是我面临的问题.我的lambda正在做两件简单的事情 – 验证从客户端收到的有效负载,然后将其发送到kinesis流,以便从另一个lambda进行进一步处理(你会问为什么我不直接发送到流,只使用1个lambda我只想说我想分离逻辑并有一层抽象,并且能够告诉客户他正在发送无效数据.) 在lambda的实施中,我集成...

Java Hibernate提示有关更新所有表字段的性能【代码】

我有这样的要求.protected Integer[] updateFullTable(final Class clazz){final ProjectionList projectionList=Projections.projectionList().add(Projections.property("id"),"id");final Criteria criteria=session.createCriteria(clazz).add(Restrictions.eq("typeOfOperation",1)).add(Restrictions.eq("performUpdate",true));criteria.setProjection(projectionList);final List idsList=criteria.list();final Integer[]...

关于用Java编写高性能服务器的读物

任何人都可以介绍我应该阅读的书籍/论文/文章如果我想用Java编写高性能的RPC服务器,它处理大量的并发连接(C10K或以上),容错,可以扩展,并保持高吞吐量?谢谢!解决方法:几年前,Ebay用Java重新实现了他们的平台,并且有一些白皮书和演示文稿围绕着它描述.这里有一些: > http://www.sun.com/2003-0624/feature/index.html> http://www.infoq.com/presentations/shoup-ebay-architectural-principles> http://www.infoq.com/articles/e...