Java 7中对动态语言的支持是什么样的?

时间:2010-01-06 23:42:26

标签: java jvm java-7

似乎JSR 292会为JVM添加对动态语言的支持,但我没有看到很多关于它的细节。动态类型是否会被合并到语言中(或仅仅是VM)?如果是这样,语义会是什么样的?

会不会有类似C#4的东西:

dynamic x = 10, y = 5;
Console.WriteLine(x + y);

3 个答案:

答案 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