Java 函数返回值在';它不存储在任何变量中吗?

Java 函数返回值在';它不存储在任何变量中吗?,java,heap,Java,Heap,print语句中的+retInt()值是否占用内存空间?如果是,那么在哪里——在堆栈中还是在java堆中?int值不是对象。它们不能单独进行内存管理;不存在可能刮取剩余int值的垃圾回收。使用Integer对象的部分开销是它们需要允许垃圾收集所需的类型和内存管理信息 在此场景中,int位于堆栈上。(并通过堆栈指针进行管理;不是单独管理)好的,如果函数返回任何其他类型(整数除外),比如另一个自定义对象,该怎么办。那么这个问题的答案是什么? public class testClass{ publ

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

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


在此场景中,
int
位于堆栈上。(并通过堆栈指针进行管理;不是单独管理)

好的,如果函数返回任何其他类型(整数除外),比如另一个自定义对象,该怎么办。那么这个问题的答案是什么?
public class testClass{

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

public static int retInt(){
    return 1;
}

}