http://www.oracle.com/technetwork/articles/javase/index-136358.html
通过在JDK 7中添加对JSR 292的支持,动态类型语言在JVM中的运行速度应该比现在快.这种支持的一个关键部分是为方法调用添加了一个新的Java字节码,invokedynamic,以及一个包含称为方法句柄的新构造的附带链接机制.这些功能使动态类型语言编译器的实现者,即为JRuby和Jython等语言开发编译器的人能够生成在JVM中运行速度极快的字节码.
...
方法句柄是java.dyn.MethodHandle类型的简单对象,它包含对JVM方法的匿名引用.方法句柄可以像方法的命名引用一样调用.然而,它的独特之处在于它是通过指针结构访问的,而不是链接名称.
恕我直言这是一个超前的工具集.它打算替换反射,但有一些性能问题(它可以更快或更慢,但不是更快一点)它synatx也有点麻烦.
Java 8中的内容是闭包和第一类方法引用.MethodHandles将在这方面发挥重要作用,并使其使用/语法自然和集成.即,你将能够使用新的java语法,而不必直接引用这个类,编译器将帮助检查类型和异常抛出,它现在无法用反射.我假设当Java 8发布时,其性能问题也将得到解决.
| 归档时间: |
|
| 查看次数: |
2695 次 |
| 最近记录: |