java for循环效率优化_java 优雅代码for循环 之性能调优

大家在工作中,用到最多的就是for循环了,但是你知道如何写for循环可以提高系统的性能呢?

我从以下几个方面对如何写for循环给大家几个事例,希望可以帮到你们

原始代码

优化过的代码

对比结果

在循环中,循环条件会被反复计算,如果不使用复杂表达式,而是使循环条件不变的话,程序将会运行的更快,所以在循环中应该避免使用复杂的表达式

#原始代码

public void optimalizeFor() {

List list = new ArrayList<>();

for (int i = 0; i < list.size(); i++) {

}

}

#调优写法

public void optimalizeFor() {

List list = new ArrayList<>();

for (int i = 0, len = list.size(); i < len; i++) {

}

}

优化前用时:47871

优化后用时:566

从结果可以看出来所用时间的差异非常大,这个就像拿大文件和小文件一样的道理

#原始代码

for (int i = 0; i < 10; i++) {

for (int j = 0; j < 100000; j++) {

}

}

#调优写法

for (int i = 0; i < 100000; i++) {

for (int j = 0; j < 10; j++) {

}

}

优化前用时:7541608

优化后用时:4316

还是像之前说到的,避免在循环中重复的计算发生

#原始代码

int a = 10, b = 11;

for (int i = 0; i < 10; i++) {

i = i * a * b;

}

#调优写法

int c = a * b;

for (int i = 0; i < 10; i++) {

i = i * c;

}

优化前用时:48664

优化后用时:651

每次抓捕异常时非常耗时的,应该放在循环外一次性抓取,而不是应该放在循环内去每循环一次都抓取

#原始代码

for (int i = 0; i < 10; i++) {

try {

} catch (Exception e) {

}

}

#调优写法

try {

for (int i = 0; i < 10; i++) {

}

} catch (Exception e) {

}

优化前用时:48664

优化后用时:651

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值