paip.提升性能---string split
paip.提升性能---string split
大概一万次就能看到慢的兰..
/split 慢的原因。因为使用了正则表达式的,这样,就慢的了..
作者Attilax 艾龙, EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
String.split(regex)事实上简单的调用了Pattern.compile(regex).split(this, limit),且每次compile()都会返回一个新Pattern。所以如果频繁调用split的话,最好创建单个Pattern实例并重复使用来取代split()。
因此,如果你调用String.split非常频繁的话,每次都重新编译正则表达式的代价很高,性能会受到很大影响,此时最好自己预编译Pattern,再调用Pattern.split方法为妙。
解决:
1.预编译Pattern
因此,如果你调用String.split非常频繁的话,每次都重新编译正则表达式的代价很高,性能会受到很大影响,此时最好自己预编译Pattern,再调用Pattern.split方法为妙。
String []items=line.split(" ");
//替代为
static Pattern pattern=Pattern.compile(" ");
String []items=pattern.split(line,0);
2.stringtoken
3.自定义分割算法
string tmp=orgSTr;
while(true)
{
string splitstr=null;
int j=tmp.indexof(',');
if(j<0)break;
splitstr=tmp.substring(0,j);
tmp=tmp.substring(j+1);
}
///结果比较:
splite 3600ms,stringtoken 2600ms, indexof 600ms..
性能提升6倍之多阿..
stringbuilder sb=new xx(99999);//预先顶好容量..
时间是默认的1/3..提升3倍..
paip.提升性能---string split相关推荐
- paip. 提升性能---hibernate的缓存使用 总结
paip. 提升性能---hibernate的缓存使用 总结 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog ...
- php 多核cpu,paip.提升性能--多核cpu中的java/.net/php/c++编程
paip.提升性能--多核cpu中的java/.net/php/c++编程 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http ...
- paip.提升性能----硬盘不同转速不同缓存对比转
paip.提升性能----硬盘不同转速不同缓存对比转 西数 WDC WD2500BEVT-08A23T1 ( 250 GB / 5400 转/分 ) 5400转 8M缓存 单碟250 GB 产品 ...
- Java String split方法性能分析
近期笔者分析一段在线代码的性能时,发现Java String类中split()方法的性能和网上一些帖子的描述并不相同,是以记录澄清. Java String split方法到底有没有使用正则表达式? ...
- Java中String.split和StringUtils.split性能比较
问题背景 最近,在处理高维数组的运算时,需要从txt中读取文本,并使用split()函数将每一个行的文本转化成数组.如下所示: 1.0 0.0 0.0 0.0 0.0 0.0 0.0 - 由于该数组的 ...
- java编写提升性能的代码
1.ConcurrentHashMap是Java 5中支持高并发.高吞吐量的线程安全HashMap实现,既兼顾安全,又保证高并发,HashMap的升级版本,建议使用. 2.List中的三种循环方法:迭 ...
- ContentProviderOperation批量操作提升性能
原文出处:http://blog.csdn.net/imuhao/article/details/52002995 ContentProviders 是Android 系统核心组件之一,Content ...
- Java String.split()用法小结
2019独角兽企业重金招聘Python工程师标准>>> 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: ...
- 注意String.Split的几个重载形式
String.Split应该是经常用到的一个函数了,经常的有下面两种形式 public string[] Split(char[] separator, StringSplitOptio ...
- java诡异的String.split()方法
Reference https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String) 正文 ...
最新文章
- 世博会、新三国、新红楼
- 【Python】青少年蓝桥杯_每日一题_5.27_画菱形
- 高级数据结构与算法 | 跳跃表(Skip List)
- 使用CADisplayLink实现UILabel动画特效
- 如何深度理解RNN?——看图就好!
- AOP五大通知注解详解
- 整理收藏-mysqldump导出数据库
- 记录一个表,COUNT多列的写法
- c语言60进制字母,傻瓜学习C语言进制转换
- Mac xelatex
- Access入门之基本操作和认识
- 做独立app需要哪些东西?
- 微信赞赏功能升级设置中的坑
- 将ping结果显示在html中,Ping使用方法大全
- 手游联运新增开放平台!
- 页面操作时显示“处理中,请稍候。。。”
- 秋招面试题系列- - -Java工程师(十一)
- CodeForces - 727E Games on a CD 字符串Hash
- css画三角形、梯形
- 芝麻信用网页api php,谈谈php对接芝麻信用踩的坑