字符串操作
1.String.split(seg);的时间是StringUtils.split(str, seg);的1.5倍.
2.String.replaceAll(regex, replacement)的时间是StringUtils.replace(text, searchString, replacement)的1.86倍。
3.如果是单个字符替换StringUtils.replace(text, searchString, replacement)的时间是StringUtils.replaceChars(str, searchChar, replaceChar)的15倍。
4.如果是字符串替换StringUtils.replace(text, searchString, replacement) 是StringUtils.replaceChars(str, searchString, replaceString)1.4倍。
一句话:能不用正则表达式的地方尽量不用,哪怕自己写方法来实现。
5.如果必须到正则匹配,则需要声明为final类型,以便在编译期间就编译好。final Pattern pattern = Pattern.compile(match)。
循环遍历
对于List循环,如果List的底层实现是ArrayList最好使用for(int i;i<list.size();i++)方法,而不是使用for(Object obj: objList)。因为foreach方法会创建迭代器进行迭代,会损耗一部分性能。但是如果List是LinkedList实现的,并且又要get元素,那么get(i)遍历效率比较低。
log4j打日志时间:
1.输出到console是输出到本地磁盘(无缓存)的1.33倍
2.无缓存输出到本地磁盘是加缓存输出到本地磁盘的1.09倍(根据实际情况buffersize不一样,性能也不一样)
3.输出到本地磁盘(无缓存)+输出到console是输出到本地磁盘(无缓存)的1.48倍。
Exception try-catch时间:
注:时间比例视try包围的代码执行时间而定,代码执行时间越长,try catch对整体时间的影响越小。这里只是为证明加catch 与不加catch对性能的影响。
1. 循环执行字符串比较方法StringUtils.equals(Str1, Str2); 加catch是不加catch执行时间的1.16倍。
2.循环执行字符串比较方法rr.equals(Str2),都加catch,抛空指针异常是不抛异常执行时间的7400倍。
结论:加try catch对性能有轻微影响,所以不要滥用try-catch,但是对于有可能抛异常的地方也不要吝于加try-catch。 抛异常与不抛异常对性能影响很大,对于空指针等可以从代码端上fix上的异常一定要及时修复。
其他第三方库
1.各种JSON库性能对比,强烈推荐使用fastjson。(下面数据来源于第三方测试)
2.xml解析器性能对比,吐血推荐XStream+Xpp黄金组合。
相关推荐
java调用本地dll的几种方法性能对比测试。 JNA消耗的总时间(ms):5406 bridj消耗的总时间(ms):984 JNI消耗的总时间(ms):47 包含c++源码和java源码,部署和使用方法。在win7和winxp下测试用过。 部分源码是...
使用 Spring AOP 进行方法耗时监测的好处有以下几点... 提高系统性能:通过对系统中的方法进行耗时监测,可以及时发现系统中的性能瓶颈,从而进行优化;避免了因为性能问题导致的系统运行效率低下和用户体验差的情况。
性能优化方法论,优化思想:增加资源、减少耗时操作(合并、压缩、复用等)、提高资源利用率(空间换时间、同步转异步、串行转并行、降低冲突范围、空间局部性等)、其他(提前处理、实时转离线、就近原则、限制条件等...
Java实现的耗时统计类,可用于平常的测试程序耗时,以及耗时的格式化输出,
目录 MMO游戏的常用架构 服务器系统及应用健康监控体系 游戏内常用的效率分析及对应的优化手段 与其他互联网产品的互通性思考 Q&A 环节 服务器监控及性能优化全文共27页,当前为第2页。 MMO游戏的常用架构 架构和...
包括冒泡排序,选择排序,插入排序,希尔排序,快速排序等常用排序算法的实现并耗时比较
获取每次使用引起小损失的分组。如果你实际并不需要获取一个分组内的文本,那么就使用非捕获分组。
Skywalking链路追踪自身耗时和总耗时算法分析
JS性能优化是指在JavaScript代码的编写和执行过程中,通过一系列的优化策略和技术手段,提高代码的执行效率和性能,从而提升网页或应用程序的响应速度和用户体验。 优化JS性能的方法包括但不限于以下几个方面: 代码...
Hadoop集群和单机数据处理的耗时对比实验
常用拦截 拦截器HandlerInterceptor 拦截器MethodInterceptor 添加依赖 创建启动类 创建拦截器类 创建控制器 监控control请求耗时,提高性能
为研究各种重采样方法的不同特点,采用比较分析法,在充分分析最邻近内插法、双线性内插法和三次卷积法数学原理的基础上,对3种方法的实现效果以及程序耗时进行了分析.结果表明:采用最合适的影像重采样算法进行几何校正...
在FROM后面的表中的列表顺序会对SQL执行性能影响,在没有索引及ORACLE没有对表进行统计分析的情况下ORACLE会按表出现的顺序进行链接,由此因为表的顺序不对会产生十分耗服务器资源的数据交叉。(注:如果对表进行...
●可以通过以下方法来优化查询 : 1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量(尺寸)越大,提高I/O越重要。 2、纵向、横向分割表,减少...
.net 简单统一监控平台,用于集群的性能监控,应用耗时监控管理,统一日志管理等多维度的性能监控分析。 集群的性能监控:(需要服务器部署监控节点) 1. 目前仅支持windows服务器监控, 2. 支持windows自带的性能...
方案一:利用Looper.java中loop()方法的logging.print的特殊关键字进行耗时打印: 在消息分发时,主线程的looper.loop()方法会遍历所有的消息进行分发,执行耗时任务。我们看下源码的loop()方法: for (;;) { ...
通常进行这项工作的时候,我们可能会凭着主观的一些观点,去定位排查某一部分代码,常用的手段就是在可疑代码前后加时间戳相减来手动统计,或者在运行的过程中,通过看android 自带的性能分析工具来进行优化。...
性能测试 mysql 耗时分析工具
1、以20个浮点类型字段,1百万条记录...2、分别对比二进制与ProtoBuf序列化、反序列化、显示速度的耗时对比以及占用空间大小对比 3、在增加压缩功能后再进行序列化、反序列化、显示速度的耗时对比以及占用空间大小对比
由于项目需要对大量Excel数据进行输入输出处理,在使用JXL,POI后发现很容易出现OOM,最后在网上找到阿里的开源...经过大量的调试优化,现通过JAVA生成104万行20列的数据并写入到Excel文件的Sheet中只需要70秒的时间。