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.提升性能--多核cpu中的java/.net/php/c++编程
		
paip.提升性能--多核cpu中的java/.net/php/c++编程 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http ...
 - paip. 提升性能---hibernate的缓存使用 总结
		
paip. 提升性能---hibernate的缓存使用 总结 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog ...
 - paip.提升性能---并行多核编程哈的数据结构list,set,map
		
paip.提升性能---并行多核编程哈的数据结构list,set,map vector/copyonwritearraylist 都是线程安全的. 或者经过包装的list ::: collection ...
 - paip.提升性能----java 无锁结构(CAS, Atomic, Threadlocal, volatile, 函数式编码, 不变对象)
		
paip.提升性能----java 无锁结构(CAS, Atomic, Threadlocal, volatile, 函数式编码, 不变对象) 1 锁的缺点 2 CAS(Compare ...
 - paip.提升性能--多核编程中的java .net php c++最佳实践  v2.0 cah
		
paip.提升性能--多核编程中的java .net php c++最佳实践 v2.0 cah 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax ...
 - paip.提升性能---mysql 优化cpu多核以及lan性能的关系.
		
paip.提升性能---mysql 优化cpu多核以及lan性能的关系. 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:/ ...
 - paip.提升性能---mysql 性能 测试以及 参数调整.txt
		
paip.提升性能---mysql 性能 测试以及 参数调整.txt 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://b ...
 - paip.提升性能---jvm java 工具使用.
		
paip.提升性能---jvm java 工具使用. 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn ...
 - paip.提升性能----jvm参数调整.txt
		
paip.提升性能----jvm参数调整.txt 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.n ...
 
随机推荐
- jquery实现页面动态切换的方法--toggleClass(className)
			
$(function() { $(".A").click(function() { $(this).toggleClass("B"); }); }); 当点击带 ...
 - python-函数中定义可变参数
			
可变参数 在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可以是1个.2个到任意个,还可以是0个. 我们以数学题为例子,给定一组数字a,b,c……,请计算a2 ...
 - getpid 与 gettid 与 pthread_self
			
获取进程的PID(process ID) #include <unistd.h> pid_t getpid(void); 获取线程的TID(thread ID) 1)gettid或者类似g ...
 - JDK的安装及部署配置(配图解)
			
JDK的安装及部署配置 双击安装文件,出现如下界面 点击[下一步]出现如下界面,更改安装路径(建议安装至D盘), 点击[下一步],出现如下界面,修改文件夹名. 点击[确定],耐心等待 直至出现如下界面 ...
 - java多线程学习-ThreadLocal
			
为了凑字,把oracle文档里介绍ThreadLocal抄过来 public class ThreadLocal<T> extends Object This class provides ...
 - github 项目版本控制
			
1.申请github账号 2.安装github for windows工具 安装后就可以使用Git Bash打开特制的终端,在里面用来命令行了.喜欢Git命令行方式的朋友到这里就够了. 打开Git B ...
 - Centos7 Apache 2.4.18编译安装
			
安装环境:CentOS Linux release 7.0.1406 (Core) 0x01 到官网http://httpd.apache.org/download.cgi#apache24下载apa ...
 - HtDP读后感
			
我小时候很喜欢电脑. 不是听音乐,也不是玩游戏.纯粹是好奇:为什么一部冷冰冰的机器插上电源之后居然能如此强大.我每个月都期盼着订阅的电脑杂志快点到,到手以后总先上手试试里面的"奇淫巧技&qu ...
 - Redis 集群方案- 主从切换测试
			
大约一年多前,公司同事开始使用Redis,不清楚是配置,还是版本的问题,当时的Redis经常在使用一段时间后,连接爆满且不释放.印象中,Redis 2.4.8以下的版本由于设计上的主从库同步问题,就会 ...
 - ASP.NET简单验证码
			
今天写了一个特别简单的验证码实现.现将代码贴出. protected void Page_Load(object sender, EventArgs e) { CreateCheckCodeImage ...