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
java for循环效率优化_java 优雅代码for循环 之性能调优相关推荐
- 使用Valgrind的callgrind做c/c++代码的code profiling/性能调优
提起Valgrind,很多人认为是做内存泄漏的工具,其实memcheck只是Valgrind下的一个功能而已. 接下来我们一起看一下使用Valgrind的Callgrind工具实现Code Profi ...
- Java 面试必备 | 7 个实验带你精通 JVM 性能调优!
近些年来,无论是使用规模.开发者人数,还是技术生态成熟度.工具的丰富程度,Java 都是后端语言中当之无愧的王者,工资自然也是不菲
- java 分布式sql引擎_分布式SQL查询引擎 Presto 性能调优的五大技巧
概述 Presto架构 Presto是一个分布式的查询引擎,本身并不存储数据,但是可以接入多种数据源,并且支持跨数据源的级联查询. Presto的架构分为: Coodinator:解析SQL语句,生成 ...
- java format 补足空格_11个简单的Java性能调优技巧
想要保持程序高效运行?您可以采取一些步骤来消除瓶颈,缓存提示以及其他性能调整建议. 大多数开发人员期望性能优化是一个复杂的主题,需要大量的经验和知识.好的,那不是完全错误的.优化应用程序以获得最佳性能 ...
- 深入理解Java虚拟机:Jvm性能调优
本篇内容包括:Jvm 性能调优简介:根据需求目标进行 Jvm 调优规划(即 调优的目标.调优的步骤):Jvm 调优参数.命令.工具:以及 Java 中的内存泄露问题的详解- 一.Jvm 性能调优简介 ...
- 11个简单的Java性能调优技巧
想要保持程序高效运行?您可以采取一些步骤来消除瓶颈,缓存提示以及其他性能调整建议. 大多数开发人员期望性能优化是一个复杂的主题,需要大量的经验和知识.好的,那不是完全错误的.优化应用程序以获得最佳性能 ...
- 上线半天下载量破100W!美团大佬的Java性能调优实战手册,超详细
随着互联网的发展,高可靠.高并发以及降本增效,已成为各大公司面临的现实挑战,性能优化需求愈发迫切,大到分布式系统,小到代码块的算法优化,都已经成为你日常工作中必须要面对的事情.对于开发者而言,性能优化 ...
- 性能调优之Java系统级性能监控及优化
性能调优之Java系统级性能监控及优化 对于性能调优而言,通常我们需要经过以下三个步骤:1,性能监控:2,性能剖析:3,性能调优 性能调优:通过分析影响Application性能问题根源,进行优化Ap ...
- java g1 收集调优_Java性能调优:充分利用垃圾收集器
java g1 收集调优 JVM背后发生了什么,垃圾回收如何影响Java性能? 性能调优世界是一个危险的地方,一个JVM标志失衡,事情很快就会变得繁琐. 因此 ,我们决定求助于Java性能调优专家, ...
最新文章
- eclipse java代码颜色设置颜色设置颜色设置颜色设置颜色_eclipse设置(颜色,字体等)...
- 数组作为函数参数进行传递
- SLAM:SLAM之VSLAM的简介
- 玩法与叙事撕裂许久,3A与暴力却难分难舍
- 碉堡!Mysql8.0竟然可以直接操作json文档了。。。
- hdu 2609 How many(最小表示法)
- delphi 中 的 Split 函数
- 寻找最大的K个数(下)
- Jquery简单幻灯片
- 相对标准偏差用计算机,公路工程用计算器计算相对标准偏差(RSD)
- 一款自适应的聊天网站-匿名在线聊天室PHP源码
- 低效率只因环境太乱?43 个方法帮你减少干扰
- linux mac地址远程开机,用MAC地址远程开机的开机棒你见过吗?
- 让图片和文字在一行中垂直居中对齐的方法
- DP12 龙与地下城游戏问题
- 量化交易接口怎么自动选股票?
- 号外!微信企业版真的来了
- C语言验证码--自学第三天
- 求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字,为2。 例如,n=5时=2+22+222+2222+22222,n由键盘输入。
- asd 商品历史价格查询
热门文章
- redis的安装和命令的使用(史上最全命令集合)
- visualvm远程监控jvm_别再说你不会 JVM 性能监控和调优了,看完这篇再发言
- html show指定显示什么,Dialog show() 方法 定义和用法_HTML对象
- 天梯— A-B(C语言)
- opencv之绘制带箭头的线段---arrowedLine
- Opencv之通过url抓取图片并通过opencv可视化
- python语言与c语言相比在分支结构上有什么不同_C语言顺序结构和分支结构总结...
- mpvue中小程序自定义导航组件开发指南
- ld framework not found FileProvider for architecture x86_64 报错
- 【计算机本科补全计划】Mysql 学习小计(3)