内存占用变量

时间:2014-08-04 03:17:52

标签: java

当变量初始化时,它会在每次初始化时占用新的内存。

这就是for循环初始化仅在循环开始时发生一次的原因,因为如果变量在每个下一个循环中初始化。它将占用RAM中的大量空间。

2 个答案:

答案 0 :(得分:1)

Java中的变量只有两种类型,基元和引用。

对于局部变量,这些变量通常放在堆栈上,并且通常只存在于寄存器中(对于叶子方法)。每次重用时占用相同的内存,如果方法退出并再次调用,则使用相同的内存。

但是当你创建一个new对象时,它将在堆上,通常,每次调用new时,它确实会创建一个新对象。 (它可以被优化掉但很少被优化)所以是的,如果你决定创建大量的对象,你很可能会使用大量内存并可能产生大量垃圾。

答案 1 :(得分:0)

这就是for循环初始化只发生一次的原因 在开始循环时

In case of for-loop When the loop first starts, the initialization portion of 
the loop is executed. 
Generally, this is an expression that sets the value of the loop control 
variable,which acts as a counter that controls the loop.It usually tests the
loop control variable against a target value. If this expression is true,
then the body of the loop is executed. If it is false, the loop terminates.

Hence from this you can understand that there is no need to initialize 
the variable again in for-loop just incrementing it does the work.