- 論壇徽章:
- 0
|
JSR 292 - 支持動態(tài)語言的下一步
JSR 292 旨在解決試著將一個方釘-動態(tài)結構語言的方法調(diào)用-放入一個圓孔-基于靜態(tài)結構的Java字節(jié)碼需求的問題。為此為JVM引入新的java字節(jié)碼指令,invokedynamic,和一新的method linkage mechanism.
方法調(diào)用的字節(jié)碼指令
從最初Java 虛擬器指導書便指出四種方法調(diào)用字節(jié)碼:
- invokevirtual - 調(diào)用類的方法. 這是方法調(diào)用的典型方式.
- invokeinterface - 調(diào)用接口的方法.
- invokestatic - 調(diào)用類的靜態(tài)方法. 這是唯一一種缺少接收者參數(shù)的調(diào)用.
- invokespecial - 沒有接收者引用類型的調(diào)用.這種方式的方法調(diào)用可以使構造函數(shù),父類方法或私有方法.
這里我們研究兩種字節(jié)碼:invokevirtual,因為它是方法調(diào)用最典型的方式;invokeinterface,因為它同新的invokedynamic指令類似。
invokevirtual
...待續(xù)
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u3/103146/showart_2067657.html |
|