質問

(Java の) プログラム内で変数がどのくらいの期間存続するかを教えてください。つまりメソッド内で宣言された変数、パラメータで使用される変数、STATIC 変数、メソッドから戻るために使用される変数など。

ありがとう。

役に立ちましたか?

解決

  1. メソッド内で宣言された参照は、メソッドが終了するとスコープ外になります。
  2. メソッドに渡されたパラメータは、参照がなくなるかスコープ外になるまで、GC の対象になりません。
  3. 静的参照はクラスに関連付けられており、クラスがロードされている限り存続します。
  4. 返された参照は、参照がなくなるかスコープ外になるまで、GC の対象になりません。

他のヒント

Javaで

オブジェクトがある限り、彼らは推移閉包するを通じて参照可能ですとして生きることが保証されていますルートはを設定します。これは、アプリケーションのライブobjects¹の保守的な近似である。

編集のオブジェクトの有効期間の、またはの変数のスコープのに関するこの質問ですか?我々はいくつかの混合用語が起こっています。

ライブオブジェクトは、アプリケーションが終了する前に再び参照されるオブジェクトである¹ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top