1
public class testClass{

public static void main(String[] args){
    System.out.println("Output is: "+retInt());
}

public static int retInt(){
    return 1;
}

}

print语句中的值是否+retInt()占用内存空间?如果是,那么在哪里——在堆栈中还是在 Java 堆中?

4

1 回答 1

0

int值不是对象。它们不能单独进行内存管理;不存在可以刮掉剩余int值的垃圾收集。使用对象的部分开销Integer是它们需要允许垃圾收集所需的类型和内存管理信息。

在这种情况下,int堆栈上的生命。(并且通过堆栈指针进行管理;而不是单独管理)

于 2013-10-31T07:47:05.790 回答