public class testClass{
public static void main(String[] args){
System.out.println("Output is: "+retInt());
}
public static int retInt(){
return 1;
}
}
print语句中+retInt()
的值是否占用内存空间?如果是,那么 - 在堆栈中还是在java堆中?
答案 0 :(得分:0)
int
值不是对象。它们不能靠自己进行内存管理;没有垃圾收集可以刮掉剩余的int
值。使用Integer
对象的部分开销是它们需要允许垃圾收集所需的类型和内存管理信息。
在这种情况下,int
存在于堆栈中。 (并通过堆栈指针进行管理;不是自己管理)