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相关推荐

  1. paip. 提升性能---hibernate的缓存使用 总结

    paip. 提升性能---hibernate的缓存使用 总结 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog ...

  2. php 多核cpu,paip.提升性能--多核cpu中的java/.net/php/c++编程

    paip.提升性能--多核cpu中的java/.net/php/c++编程 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http ...

  3. paip.提升性能----硬盘不同转速不同缓存对比转

    paip.提升性能----硬盘不同转速不同缓存对比转 西数 WDC WD2500BEVT-08A23T1 ( 250 GB / 5400 转/分 ) 5400转 8M缓存 单碟250 GB 产品   ...

  4. Java String split方法性能分析

    近期笔者分析一段在线代码的性能时,发现Java String类中split()方法的性能和网上一些帖子的描述并不相同,是以记录澄清. Java String split方法到底有没有使用正则表达式? ...

  5. Java中String.split和StringUtils.split性能比较

    问题背景 最近,在处理高维数组的运算时,需要从txt中读取文本,并使用split()函数将每一个行的文本转化成数组.如下所示: 1.0 0.0 0.0 0.0 0.0 0.0 0.0 - 由于该数组的 ...

  6. java编写提升性能的代码

    1.ConcurrentHashMap是Java 5中支持高并发.高吞吐量的线程安全HashMap实现,既兼顾安全,又保证高并发,HashMap的升级版本,建议使用. 2.List中的三种循环方法:迭 ...

  7. ContentProviderOperation批量操作提升性能

    原文出处:http://blog.csdn.net/imuhao/article/details/52002995 ContentProviders 是Android 系统核心组件之一,Content ...

  8. Java String.split()用法小结

    2019独角兽企业重金招聘Python工程师标准>>> 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: ...

  9. 注意String.Split的几个重载形式

    String.Split应该是经常用到的一个函数了,经常的有下面两种形式        public string[] Split(char[] separator, StringSplitOptio ...

  10. java诡异的String.split()方法

    Reference https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String) 正文 ...

最新文章

  1. 世博会、新三国、新红楼
  2. 【Python】青少年蓝桥杯_每日一题_5.27_画菱形
  3. 高级数据结构与算法 | 跳跃表(Skip List)
  4. 使用CADisplayLink实现UILabel动画特效
  5. 如何深度理解RNN?——看图就好!
  6. AOP五大通知注解详解
  7. 整理收藏-mysqldump导出数据库
  8. 记录一个表,COUNT多列的写法
  9. c语言60进制字母,傻瓜学习C语言进制转换
  10. Mac xelatex
  11. Access入门之基本操作和认识
  12. 做独立app需要哪些东西?
  13. 微信赞赏功能升级设置中的坑
  14. 将ping结果显示在html中,Ping使用方法大全
  15. 手游联运新增开放平台!
  16. 页面操作时显示“处理中,请稍候。。。”
  17. 秋招面试题系列- - -Java工程师(十一)
  18. CodeForces - 727E Games on a CD 字符串Hash
  19. css画三角形、梯形
  20. 芝麻信用网页api php,谈谈php对接芝麻信用踩的坑

热门文章

  1. red-hat Linux6-5的安装
  2. 平安科技移动开发二队技术周报(第十一期)
  3. 配置Eclipse远程调试weblogic应用的环境
  4. 深入String 与StringBuffer详解那个更省资源
  5. 设置“文件共享”,方便两台主机共享文件
  6. linux的IO调度算法和回写机制
  7. 从网上搜集的几种数据分页的总结
  8. Linux 系统中用户切换(su user与 su - user 的区别)
  9. 图像标注工具labelImg使用方法
  10. HDU 6127 Hard challenge (极角排序)