JSR 292


探秘 Java 7:JVM動態語言支持詳解 - 2009-07-27
JDK 7 增加了對 JSR 292 的支持,在 JVM 中動態類型語言的運行速度將變得更快。這一支持的關鍵在於增加了新的 Java 字節碼,invokedynamic,它用於方法調用,還有新的連接機制,其中包含了一個新的構造:方法句柄(method handle)。

Java6中通過引入JSR223支持在Java中運行動態語言。但這只是在API層次上支持動態語言,存在諸多不足,譬如動態語言的執行效率就大打折 扣。而Java7有望改變這一狀況。Java7中將引入JSR 292,通過在JVM虛擬指令中添加一條專門針對動態語言的invokedynamic指令,這將大大提高動態語言在JVM上執行的效率。



JSRs: Java Specification Requests

JSR 292: Supporting Dynamically Typed Languages on the JavaTM Platform, http://jcp.org/en/jsr/detail?id=292
Description:
Add a new bytecode, invokedynamic, that supports efficient and flexible execution of method invocations in the absence of static type information.


Comments