2009-10-07 68 views

回答

3
  1. 方法退出時,在方法中聲明的引用超出了範圍。
  2. 傳遞給方法的參數將不符合GC要求,除非沒有更多引用或超出範圍。
  3. 只要類加載,靜態引用就會與類關聯。
  4. 如果沒有更多引用或超出範圍,則返回的引用將不符合GC的條件。
+0

您正在將變量(1和3)與對象(2和4)混淆。 – starblue 2009-10-08 07:00:23

+0

如果這些變量是對象呢?你聽起來像是在混淆原始物體和物體。 – duffymo 2011-11-29 18:17:06

+0

變量不能*爲*對象,這是兩個完全不同的概念。至多一個變量可以包含對一個對象的引用。 – starblue 2011-11-30 12:36:24

2

只要可以通過root settransitive closure進行參照,Java中的對象就能保證存活。這是應用程序的實時對象1的保守近似值。

編輯:是關於對象的生命週期,或變量範圍這個問題?我們有一些混合的術語正在進行。

¹活動對象是在應用程序終止前再次被引用的對象。

+0

re:混合的術語。沒有開玩笑。我喜歡duffymo的答案在兩者之間來回切換。 :-) – 2009-10-08 00:35:04

相關問題