Frage

Können Sie mir sagen, wie lange ein Variable Leben in einem Programm (in Java). d.h. Variablen deklariert innerhalb Methoden, Variablen in Parameter verwendet, statische Variablen, um Rückkehr verwendeten Variablen aus einer Methode, etc.

Danke.

War es hilfreich?

Lösung

  1. Referenzen deklariert innerhalb Methoden Umfang hinausgehen, wenn das Verfahren beendet.
  2. Parameter an Methoden übergeben werden nicht für GC in Betracht, bis es keine weiteren Hinweise auf sie sind, oder sie gehen aus dem Rahmen.
  3. Statische Referenzen sind mit einer Klasse zugeordnet und leben, solange die Klasse geladen wird.
  4. Zurück Referenzen nicht für GC in Betracht, bis es nicht mehr Verweise auf sie sind, oder sie gehen aus dem Rahmen.

Andere Tipps

Objekte in Java sind garantiert, so lange leben, wie sie referenzierbarer sind durch eine transitive Schließung des root set . Dies ist eine konservative Annäherung der Live-objects¹ der Anwendung.

Edit: Ist diese Frage in Bezug auf Objekt Lebensdauer oder Variablenbereich ? Wir haben einige gemischte Terminologie geht.

¹ Ein Live-Objekt ist ein Objekt, das neu referenziert werden, bevor die Anwendung beendet wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top