gpt4 book ai didi

java - 对多个 for 循环使用单个整数有什么好处?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:55:16 25 4
gpt4 key购买 nike

如题所示,使用这个有什么好处:

int i;

for (i = 0; i < 4; i++){
<do stuff>
}

for (i = 0; i < 7; i++){
<do other stuff>
}

而不是这个:

for (int i = 0; i < 4; i++){
<do stuff>
}

for (int i = 0; i < 7; i++){
<do other stuff>
}

换句话说,不为每个循环声明另一个变量有什么好处吗?

我想存储它们需要更少的内存,但它们都将在方法结束时被废弃,所以这有什么关系呢? (或者 GC 会干掉它们)

最佳答案

这两种解决方案几乎肯定会占用完全相同的内存量,并且此处不涉及堆内存(与 GC 无关)。

即使在 javac 级别,也可以很容易地确定你的第二种情况中的局部变量何时超出范围(在 for 循环之外),以及位置用于它可以重复用于其他循环。

在运行时,变量可能会被分配给一个寄存器,并且根据实际代码和 JVM 实现的许多细节,循环将展开或以其他方式转换,这使得几乎不可能理解该变量的“内存使用”概念。

关于java - 对多个 for 循环使用单个整数有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27064538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com