java的for循环的区别,各自的优缺点

OSC草草 发布于 2016/10/12 16:54
阅读 340
收藏 0

下面两个for循环,它们的区别,各自的优缺点是什么?

一种:

long temp = 0;
for(int i = 1099999; i<999999999; i++){
   temp = new long[i];
}



 二种:

for(int i = 1099999; i<999999999; i++){
   long temp = new long[i];
}



加载中
1
51_future
51_future

1、本质区别,temp变量的作用域不一样;第一种作用整个for循环,第二种作用for循环的当前次的循环;

2、第一种相比第二种的优点,性能更高点。因为temp变量只创建一次;

3、第二种相比第一种的优点,可靠性更高点。因为第一种更容易会内存溢出,第一种执行一次循环到执行下一次的循环时,temp变量还指向上一次long对象,它是占着内存的没有释放;当次循环执行完才指向当次新的long对象,上一次的long对象占的内存才可以被回收;而第二种每次执行循环后temp指向的long对象都可以被回收;所以相比之下第一种更容易会内存溢出;

4、缺点就各自的优点相比另一个来说就是缺点了,希望可以帮到你;

51_future
51_future
回复 @刘万杰 : 相互学习,多多支持哟!
螃蟹大叔
螃蟹大叔
学习了
返回顶部
顶部