for语句Java堆栈和对象
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返回由rs.getString("name")
字符串对象被压入堆栈,并在管线50,返回对象(一个字符串对象)被强化。
1)堆栈是否只包含参考这个返回的字符串对象堆上的实际对象或堆栈包含实际的字符串对象?
2)并弹出返回的字符串对象后,它会被垃圾收集或它的内存释放为堆栈,这种方法消失???