当前位置: 首页 > news >正文

php网站支付宝接口宁波在线网

php网站支付宝接口,宁波在线网,个人可以做商城网站,凡科做的网站百度能收录吗在字符串拼接时应该都见过下面这种提示#xff1a; 大家普遍认知中#xff0c;字符串拼接要用StringBuilder#xff0c;那为什么idea会建议你是用呢#xff0c;那到底StringBuilder和有什么具体区别呢#xff0c;我们一起来探究一下。 普通拼接 普通的几个字符串拼接成一…在字符串拼接时应该都见过下面这种提示 大家普遍认知中字符串拼接要用StringBuilder那为什么idea会建议你是用呢那到底StringBuilder和有什么具体区别呢我们一起来探究一下。 普通拼接 普通的几个字符串拼接成一个字符串直接使用因为教材等原因当前依旧有许多人拼接字符串时认为使用耗性能首选StringBuilder。 实际上从JDK5开始Java编译器就做了优化使用拼接字符串编译器编译后实际就自动优化为使用StringBuilder。 新建测试类分别创建使用拼接字符串和使用StringBuilder拼接字符串的方法并新增Junit测试用例分别调用拼接字符串100000次这里不是循环拼接而是执行多次拼接因为一次拼接耗时太少看不出差异打印耗时。 /*** 使用拼接字符串*/ public String concatenationStringByPlus(String prefix, int i) {return prefix - i; }/*** 使用StringBuilder拼接字符串*/ public String concatenationStringByStringBuilder(String prefix, int i) {return new StringBuilder().append(prefix).append(-).append(i).toString(); } /*** 测试使用拼接字符串耗时*/ Test public void testStringConcatenation01ByPlus() {long startTime System.currentTimeMillis();int count 100000;for (int i 0; i count; i) {String str concatenationStringByPlus(testStringConcatenation01ByStringBuilder:, i);}long endTime System.currentTimeMillis();System.out.println(testStringConcatenation01ByPlus拼接字符串 count 次花费 (endTime - startTime) 秒); }/*** 测试使用StringBuilder拼接字符串耗时*/ Test public void testStringConcatenation02ByStringBuilder() {long startTime System.currentTimeMillis();int count 100000;for (int i 0; i count; i) {String str concatenationStringByStringBuilder(testStringConcatenation02ByStringBuilder:, i);}long endTime System.currentTimeMillis();System.out.println(testStringConcatenation02ByStringBuilder拼接字符串 count 次花费 (endTime - startTime) 秒); }执行Junit用例看耗时统计输出 虽然有差异但是差异极小考虑到执行了100000次每次耗时的差异就更小了而且程序执行有各种因素影响执行效率可以认为耗时差不多。也可以多次执行对比耗时差异也可以发现基本一致。 到class文件所在目录执行 javap -c StringTest.class对class文件进行反编译查看编译后的代码差异。这里不要进行反编译因为反编译有优化会都反编译成拼接的看不出来编译后的真正情况。 从图上可以看出两种拼接方法反编译后完全一样没有差异执行效率自然也是一样的。 既然执行效率一样从代码简洁利于阅读考虑推荐使用拼接字符串。 循环拼接 循环拼接一个长字符串建议使用StringBuilder虽然拼接字符串编译后也会变成StringBuilder但是每次循环处理都会new一个StringBuilder对象耗时会大大增加。而直接使用StringBuildernew一次就可以了效率相对高。 新增2个Junit测试用例循环拼接10000次拼接一个字符串次数少于上面的用例因为拼接的是一个字符串如果拼接次数太多可能引发内存溢出 /*** 循环使用拼接字符串*/ Test public void testLoopStringConcatenation03ByPlus() {long startTime System.currentTimeMillis();int count 10000;String str testLoopStringConcatenation03ByPlus:;for (int i 0; i count; i) {str str - i;}System.out.println(str);long endTime System.currentTimeMillis();System.out.println(testLoopStringConcatenation03ByPlus拼接字符串 count 次花费 (endTime - startTime) 秒); }/*** 测试循环使用StringBuilder拼接字符串耗时*/ Test public void testLoopStringConcatenation04ByStringBuilder() {long startTime System.currentTimeMillis();int count 100000;StringBuilder stringBuilder new StringBuilder(testLoopStringConcatenation04ByStringBuilder:);for (int i 0; i count; i) {stringBuilder.append(-);stringBuilder.append(i);}String str stringBuilder.toString();System.out.println(str);long endTime System.currentTimeMillis();System.out.println(testLoopStringConcatenation04ByStringBuilder拼接字符串 count 次花费 (endTime - startTime) 秒); }执行Junit用例看耗时统计输出 可以看出差异明显不在一个量级了。 总结 单纯的字符串拼接使用更快更简洁。 循环拼接时使用拼接字符串效率较低推荐使用StringBuilder。
http://www.zqtcl.cn/news/306286/

相关文章:

  • 微信公众号文章排版设计软媒win7优化大师
  • 长春建设局网站处长做箱包关注哪个网站
  • 中国建筑集团有限公司怎么样seo是怎么优化推广的
  • 芜湖建设网站eclipse开发网站用vue做前端
  • 外贸网站推广制作教程wordpress留言页面模版
  • 手机网站 像素网站建设生意怎么样
  • html5网站源代码凡科互动app下载
  • asp评价网站开发文档福州做网站的哪家好
  • 合肥网站建设方案优化写作网站大全
  • 专门提供做ppt小素材的网站网站定位
  • 临沂市建设局兰山区网站wordpress 去除下划线
  • 如何做一张图片的网站关于实验室建设的英文网站
  • 网站建设文本居中代码山东网站推广营销设计
  • 山东桓台建设招投标网站北京建设信息港网站
  • 为什么网站要域名个人养老金制度最新消息
  • 公众号开发是不是网站开发公司网站建设分录
  • 云南省住房建设厅网站代理二级分销系统
  • 四川建设人才培训网站临沂网站制作页面
  • 用vue做网站建设工程合同属于什么合同
  • 赶集的网站怎么做广告投放报价
  • php 家政网站白嫖云服务器
  • 长春网站关键词推广优秀网站建设哪个公司好
  • php实战做网站视频教程站长工具网站测速
  • 当下网站建设常见的网址有哪些
  • 洪雅网站建设事业单位门户网站建设包含内容
  • 外网如何查看局域网建设的网站区块链开发工程师要求
  • 网站首页三张海报做多大怎么做网上直营店网站
  • 网站制作新手教程视频省建设厅网站安全生产标准化
  • 自动建设网站系统阿里云虚拟主机多网站
  • 区块链app排名网站seo其应用