关于java分割和拼接执行效率的测试
2017-04-03 22:09:48 作者:MangoCool 来源:MangoCool
最近的storm项目中,遇到一个java执行效率的问题,逻辑虽然简单,但经过优化,却提升不少,看来以后不得不花更多的时间关注效率问题了,尤其是实时处理场景。
先下一番结论:
1、java中subString、split、stringTokenizer三种截取字符串方法的性能比较
StringTokenizer在截取字符串中效率最高,不论数据量大小,几乎持平。substring则要次之,数据量增加耗时也要随之增加。split则是表现最差劲的。
简单来说:stringTokenizer >subString > split
2、java中5种字符串拼接方式性能比较
用+的方式效率最差,concat由于是内部机制实现,比+的方式好了不少。Join 和 StringBuffer,相差不大,Join方式要快些。StringBuilder的速度最快,但其有线程安全的问题。
简单来说:StringBuilder> Join > StringBuffer > concat > +
不人云亦云,文章的示例,我也测试了,结论一致,不罗嗦了,但是我发现了另外一个问题,且看下文。
先看示例:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ja