Java 价值;除了原语的情况。@BoristheSpider在这种情况下,引用的值被复制。当我将其分配给静态字段时,它在释放并重新用于下一次调用之前占用的堆栈地址,对吗?相反,当我不分配它时,下一个调用使用另一个堆栈地址,对吗?这难道不会导致堆栈溢出错误吗?我的观
Java 价值;除了原语的情况。@BoristheSpider在这种情况下,引用的值被复制。当我将其分配给静态字段时,它在释放并重新用于下一次调用之前占用的堆栈地址,对吗?相反,当我不分配它时,下一个调用使用另一个堆栈地址,对吗?这难道不会导致堆栈溢出错误吗?我的观,java,memory,return-value,Java,Memory,Return Value,价值;除了原语的情况。@BoristheSpider在这种情况下,引用的值被复制。当我将其分配给静态字段时,它在释放并重新用于下一次调用之前占用的堆栈地址,对吗?相反,当我不分配它时,下一个调用使用另一个堆栈地址,对吗?这难道不会导致堆栈溢出错误吗?我的观点完全正确;听起来好像对象的整个内存位置都被复制了。@否。引用使用的内存位置被重用,但分配给对象本身的内存一旦没有引用,就可以进行GC。在将来的某个时刻,该内存将成为GC'd。 package test; public class Test {
价值;除了原语的情况。@BoristheSpider在这种情况下,引用的值被复制。当我将其分配给静态字段时,它在释放并重新用于下一次调用之前占用的堆栈地址,对吗?相反,当我不分配它时,下一个调用使用另一个堆栈地址,对吗?这难道不会导致堆栈溢出错误吗?我的观点完全正确;听起来好像对象的整个内存位置都被复制了。@否。引用使用的内存位置被重用,但分配给对象本身的内存一旦没有引用,就可以进行GC。在将来的某个时刻,该内存将成为GC'd。
package test;
public class Test {
public static void main(String[] args) {
returnTrue();
System.out.println("Finished!");
}
public static boolean returnTrue() {
return true;
}
}
package test;
public class Test {
public static boolean Result;
public static void main(String[] args) {
Result = returnTrue();
System.out.println("Finished!");
}
public static boolean returnTrue() {
return true;
}
}
void m1() {
int i;
int j;
boolean b = m2();
}
boolean m2() {
float f;
float g;
return true;
}
int
int
boolean
int
int
boolean
float
float
int
int
boolean