ステートメントのために
rs.getString("name") //rs is java.sql.ResultSet interface
バイトコードは次のとおりです。
41: aload 4
43: ldc #10; //String name
45: invokeinterface #11, 2; //InterfaceMethod java/sql/ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
50: pop
45行目で、返された文字列オブジェクトbyrs.getString("name")
がスタックにプッシュされ、50行目で、戻りオブジェクト(文字列オブジェクト)がポップアップ表示されます。
1)スタックには、ヒープ上の実際のオブジェクトを含むこの返された文字列オブジェクトへの参照のみが含まれていますか、それともスタックには実際の文字列オブジェクトが含まれていますか?
2)返された文字列オブジェクトをポップアップした後、ガベージコレクションされるのでしょうか、それともこのメソッドのスタックとしてメモリの割り当てが解除されるのでしょうか?