私の考えは、Javaのメモリ管理では完全にはっきりしていません。メソッドがスタックにロードされた後、メソッド内のオブジェクトはどうなりますか?
メソッドがスタックとヒープのオブジェクトで読み込まれることはわかっています。
例えば、
method() {
ExampleClass ec=new ExampleClass();
}
メソッドがスタックにロードされると、オブジェクトはどうなりますか?メソッドから自動的に除外され、ヒープに読み込まれますか?
私の考えは、Javaのメモリ管理では完全にはっきりしていません。メソッドがスタックにロードされた後、メソッド内のオブジェクトはどうなりますか?
メソッドがスタックとヒープのオブジェクトで読み込まれることはわかっています。
例えば、
method() {
ExampleClass ec=new ExampleClass();
}
メソッドがスタックにロードされると、オブジェクトはどうなりますか?メソッドから自動的に除外され、ヒープに読み込まれますか?
スタックにロードされるものは、オブジェクトへの参照です。このメソッドをパラメータとして渡す場合も同じです。
JavaにCやC++のようなポインタがないということは、それらが存在しないことを意味するものではありません。それは、(プリミティブとは別に)どこにでもあります。
+1:Javaには参照(またはプリミティブ)しかないので、C/C++のように&と*の表記は必要ありません。 –
「メソッドはスタックにロードされます」という意味は、まず何を意味しますか? –
メソッドはスタックにあります。 – Reuben
@Reuben:それは具体的にはどういう意味ですか?あなたの思考をより具体的にしようとするほど、彼らはより明確になるでしょう。 –