大家在工作中,用到最多的就是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

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

  1. 使用Valgrind的callgrind做c/c++代码的code profiling/性能调优

    提起Valgrind,很多人认为是做内存泄漏的工具,其实memcheck只是Valgrind下的一个功能而已. 接下来我们一起看一下使用Valgrind的Callgrind工具实现Code Profi ...

  2. Java 面试必备 | 7 个实验带你精通 JVM 性能调优!

    近些年来,无论是使用规模.开发者人数,还是技术生态成熟度.工具的丰富程度,Java 都是后端语言中当之无愧的王者,工资自然也是不菲

  3. java 分布式sql引擎_分布式SQL查询引擎 Presto 性能调优的五大技巧

    概述 Presto架构 Presto是一个分布式的查询引擎,本身并不存储数据,但是可以接入多种数据源,并且支持跨数据源的级联查询. Presto的架构分为: Coodinator:解析SQL语句,生成 ...

  4. java format 补足空格_11个简单的Java性能调优技巧

    想要保持程序高效运行?您可以采取一些步骤来消除瓶颈,缓存提示以及其他性能调整建议. 大多数开发人员期望性能优化是一个复杂的主题,需要大量的经验和知识.好的,那不是完全错误的.优化应用程序以获得最佳性能 ...

  5. 深入理解Java虚拟机:Jvm性能调优

    本篇内容包括:Jvm 性能调优简介:根据需求目标进行 Jvm 调优规划(即 调优的目标.调优的步骤):Jvm 调优参数.命令.工具:以及 Java 中的内存泄露问题的详解- 一.Jvm 性能调优简介 ...

  6. 11个简单的Java性能调优技巧

    想要保持程序高效运行?您可以采取一些步骤来消除瓶颈,缓存提示以及其他性能调整建议. 大多数开发人员期望性能优化是一个复杂的主题,需要大量的经验和知识.好的,那不是完全错误的.优化应用程序以获得最佳性能 ...

  7. 上线半天下载量破100W!美团大佬的Java性能调优实战手册,超详细

    随着互联网的发展,高可靠.高并发以及降本增效,已成为各大公司面临的现实挑战,性能优化需求愈发迫切,大到分布式系统,小到代码块的算法优化,都已经成为你日常工作中必须要面对的事情.对于开发者而言,性能优化 ...

  8. 性能调优之Java系统级性能监控及优化

    性能调优之Java系统级性能监控及优化 对于性能调优而言,通常我们需要经过以下三个步骤:1,性能监控:2,性能剖析:3,性能调优 性能调优:通过分析影响Application性能问题根源,进行优化Ap ...

  9. java g1 收集调优_Java性能调优:充分利用垃圾收集器

    java g1 收集调优 JVM背后发生了什么,垃圾回收如何影响Java性能? 性能调优世界是一个危险的地方,一个JVM标志失衡,事情很快就会变得繁琐. 因此 ,我们决定求助于Java性能调优专家, ...

最新文章

  1. eclipse java代码颜色设置颜色设置颜色设置颜色设置颜色_eclipse设置(颜色,字体等)...
  2. 数组作为函数参数进行传递
  3. SLAM:SLAM之VSLAM的简介
  4. 玩法与叙事撕裂许久,3A与暴力却难分难舍
  5. 碉堡!Mysql8.0竟然可以直接操作json文档了。。。
  6. hdu 2609 How many(最小表示法)
  7. delphi 中 的 Split 函数
  8. 寻找最大的K个数(下)
  9. Jquery简单幻灯片
  10. 相对标准偏差用计算机,公路工程用计算器计算相对标准偏差(RSD)
  11. 一款自适应的聊天网站-匿名在线聊天室PHP源码
  12. 低效率只因环境太乱?43 个方法帮你减少干扰
  13. linux mac地址远程开机,用MAC地址远程开机的开机棒你见过吗?
  14. 让图片和文字在一行中垂直居中对齐的方法
  15. DP12 龙与地下城游戏问题
  16. 量化交易接口怎么自动选股票?
  17. 号外!微信企业版真的来了
  18. C语言验证码--自学第三天
  19. 求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字,为2。 例如,n=5时=2+22+222+2222+22222,n由键盘输入。
  20. asd 商品历史价格查询

热门文章

  1. redis的安装和命令的使用(史上最全命令集合)
  2. visualvm远程监控jvm_别再说你不会 JVM 性能监控和调优了,看完这篇再发言
  3. html show指定显示什么,Dialog show() 方法 定义和用法_HTML对象
  4. 天梯— A-B(C语言)
  5. opencv之绘制带箭头的线段---arrowedLine
  6. Opencv之通过url抓取图片并通过opencv可视化
  7. python语言与c语言相比在分支结构上有什么不同_C语言顺序结构和分支结构总结...
  8. mpvue中小程序自定义导航组件开发指南
  9. ld framework not found FileProvider for architecture x86_64 报错
  10. 【计算机本科补全计划】Mysql 学习小计(3)