JAVA中for循环优化的思考

小微 科技JAVA中for循环优化的思考已关闭评论101字数 967阅读模式
摘要一、前言最近会使用到很多的数据处理,其中多出使用了for循环操作,于是思考了一下性能和优化相关的东西,遂有此文...二、循环的性能排序在之前的文章中已经对此作了简单的测试,链接:f...

一、

最近会使用到不少的数据处理,其中多出使用了for循环操作,于是思考了一下机能以及优化相关的东西,遂有此文...

二、循环的机能排序

在以前的文章中已经对此作了简单的测试,链接:文章源自微观生活(93wg.com)微观生活-https://93wg.com/4403.html

for循环、增强for循环、foreach、lambda循环哪一个效力高文章源自微观生活(93wg.com)微观生活-https://93wg.com/4403.html

结论:正常循环 > lambda > 增强for循环 > foreach文章源自微观生活(93wg.com)微观生活-https://93wg.com/4403.html

三、循环中的注意事项

3.1、以小驱大

这个以及数据库关联查询是一个道理的,用小表驱动大表的效力是更高的。附代码如下:文章源自微观生活(93wg.com)微观生活-https://93wg.com/4403.html


/* 外大内小 */
Long start = System.nanoTime;
for {
for {文章源自微观生活(93wg.com)微观生活-https://93wg.com/4403.html

}
}
Long end = System.nanoTime;
System.out.println);文章源自微观生活(93wg.com)微观生活-https://93wg.com/4403.html

/* 外小内大 */
start = System.nanoTime;
for {
for {文章源自微观生活(93wg.com)微观生活-https://93wg.com/4403.html

}
}
end = System.nanoTime;
System.out.println);

耗时情况如下:外大内小循环耗时:181410外小内大循环耗时:93572文章源自微观生活(93wg.com)微观生活-https://93wg.com/4403.html

3.2、不在循环中做繁杂的操作

咱们不建议在循环中进行繁杂的逻辑操作,这样每一一次循环时都增添了机能消耗的,附代码:文章源自微观生活(93wg.com)微观生活-https://93wg.com/4403.html

Tips:咱们参照“以小驱大”的机能基准!文章源自微观生活(93wg.com)微观生活-https://93wg.com/4403.html


/* 不要在循环中做繁杂操作 */
start = System.nanoTime;
for {
for > 100 ? 1000 : 100); j++ ) {

}
}
end = System.nanoTime;
System.out.println);

耗时情况如下: 在循环中做了繁杂操作耗时:94176

3.3、不在循环中做无用操作

这个以及上面的情况是有些相似的,咱们不建议在循环体中做一些可有可无的操作,如:变量定义、无效输出、无效逻辑运算等。

附代码:

Tips:咱们参照“以小驱大”的机能基准!


/* 不要在循环中做无效操作 */
start = System.nanoTime;
for {
for {
Double.valueOf;
Long.valueOf;
}
}
end = System.nanoTime;
System.out.println);

耗时情况如下:循环中做了无心义操作耗时:2483294

3.4、不要在循环体重做异样捕获

每一一次的循环都做异样处理是比较耗时的,建议放在循环外部进行异样处理。(

以上就是微观生活(93wg.com)关于“JAVA中for循环优化的思考”的详细内容,希望对大家有所帮助!

继续阅读
 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/4403.html