从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章给大家介绍JAVA中怎么利用for循环重复调用list.size(),内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网站空间、营销软件、网站建设、江川网站维护、网站推广。
代码如下:
public class Test2 { public static void main(String[] args) { List list = new ArrayList(); list.add("1"); list.add("2"); for (int i = 0; i < list.size(); i++) { System.out.println(i); } } }
这里将list.size()放在了for循环里,按朋友的说法,这里应该会调用多次。
接下来我查看了字节码发现,这里确实会调用多次list.size()方法,字节码如下:
具体字节码指令解析可查看:http://www.blogjava.net/DLevin/archive/2011/09/13/358497.html
接着查看了ArrayList调用size()方法的源码是直接返回一个int 型的 size变量的,而这个size变量是每次新增和删除都会改变这个size的值
结论:经过网友们热情的探讨与更正,for循环里会多次调用list.size(),list.size()方法会直接返回一个声明在类中的size全局变量,虽然这个size会直接保存在堆中,但每次发生函数调用确实会发生压栈出栈的性能开销。
关于JAVA中怎么利用for循环重复调用list.size()就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图