你能告诉我一个变量在程序中存在多久(在 Java 中)。IE。方法内部声明的变量、参数中使用的变量、静态变量、用于从方法返回的变量等。

谢谢。

有帮助吗?

解决方案

  1. 当方法退出时,方法内部声明的引用将超出范围。
  2. 传递给方法的参数将不符合 GC 条件,除非不再有对它们的引用或者它们超出范围。
  3. 静态引用与类相关联,并且只要类被加载,静态引用就一直存在。
  4. 返回的引用将不符合 GC 条件,直到不再有对它们的引用或者它们超出范围。

其他提示

在Java对象都保证,只要它们是通过一个传递闭包可引用的活的根设置。这是应用程序的现场objects¹的保守近似。

修改是这个问题有关的对象生存期,或变量范围?我们有一些混合术语事情。

¹阿活对象是将再次在应用程序终止之前被引用的对象。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top