临时Java变量会发生什么情况?

临时Java变量会发生什么情况?,java,jvm,Java,Jvm,当不再需要变量时,变量发生了什么变化。 比如说 public class Main{ public static void main(String[] args){ test(); } public static void test(){ String testVariable = "test"; System.out.println(testVariable); } } testVariable发生了什么。它是从内存中删除的,还是什么。提前谢谢 变量本身(

当不再需要变量时,变量发生了什么变化。 比如说

public class Main{
 public static void main(String[] args){
     test();
 }
 public static void test(){
  String testVariable = "test";
  System.out.println(testVariable);   
 } 
}

testVariable发生了什么。它是从内存中删除的,还是什么。提前谢谢

变量本身(
testVariable
)只指向一个对象,本身不是一个对象,当
test
方法退出时,它会立即被销毁,因为它是在堆栈上分配的

testVariable
指向的
String
对象在Java证明不再有指向它的引用之后到达某个点。

变量本身(
testVariable
),它只指向一个对象,本身不是一个对象,当
test
方法退出时立即销毁,因为它是在堆栈上分配的


testVariable
指向的
String
对象在Java可以证明没有更多的引用指向它之后到达某个点。

指向变量或它引用的对象?你能回答这两个问题吗?请阅读关于垃圾收集的内容:注意,在这种情况下,引用的对象是
字符串
对象在常量池中。GC不会回收它。对于变量或它引用的对象,您可以回答这两个问题吗?请阅读有关垃圾收集的内容:注意,在这种情况下,引用的对象是常量池中的
字符串
对象。GC将不会回收该邮件。感谢您的帮助,“您可以在7分钟内接受答案”。感谢您的帮助,“您可以在7分钟内接受答案”。