似乎JSR 292会为JVM添加对动态语言的支持,但我没有看到很多关于它的细节。动态类型是否会被合并到语言中(或仅仅是VM)?如果是这样,语义会是什么样的?
会不会有类似C#4的东西:
dynamic x = 10, y = 5;
Console.WriteLine(x + y);
答案 0 :(得分:5)
New JDK 7 Feature: Support for Dynamically Typed Languages in the Java Virtual Machine文章非常好,可以解答您的大部分问题。特别注意JSR 292 — The Next Step in Dynamic Language Support部分(是的,它是JSR 292,而不是291)。
JSR 292为JVM,
invokedynamic
引入了一个新的Java字节码指令,以及一种新的方法链接机制。
答案 1 :(得分:2)
答案 2 :(得分:0)
JSR 292就是你的意思。关于变化here的文章很不错。更改是提供新的字节码指令invokedynamic
以允许dynamic invocation。有关详细信息,请参阅Da Vinci machine project。