これはばかげているように聞こえるかもしれませんが、Javaスタックとメモリヒープについてはまだはっきりしていません。私が勉強して知っていることは次のとおりです。
1)すべてのメソッド呼び出しはスタックになります。
2)ローカルに割り当てられたすべてのメモリはメモリヒープに配置されます(この点についてはあまり明確ではありません)
3)new演算子(メソッドまたはクラスのいずれか)によって割り当てられたすべてのメモリは、メモリヒープに格納されます。
私は以下のケースについて心配しています:
1)メソッドでint変数を作成して返す場合、それはどこに行きますか(スタックに入ると思いますが、明確にする必要があります)。
2)メソッドに新しいオブジェクトを作成すると、メソッドの実行が終了した後も存在するヒープメモリに保存されます(これは、このオブジェクトを一部に割り当てたときに、Javaによって作成されたオブジェクトのハッシュコードが同じままであるために発生することを理解しています外部参照変数またはこのオブジェクトを返します)。
3)私の問題は、ポイント2で説明したオブジェクトを参照に割り当てていない場合、またはこれを返さない場合にどうなるかです。それはまだヒープ上に作成されていますか?論理的にはそうあるべきですが、私に教えてください。