Java 7 中对动态语言的支持是什么样的?
似乎 JSR 292 将为 JVM 添加对动态语言的支持,但我'我还没有看到很多关于它的细节。动态类型是否会合并到语言(或只是 VM)中?如果是这样,语义会是什么样子?
会有类似 C# 4 的东西吗:
dynamic x = 10, y = 5;
Console.WriteLine(x + y);
It seems JSR 292 will add support for dynamic languages to the JVM but I've not seen many details about it. Will dynamic types be incorporated into the language (or just the VM)? If so, what will the semantics look like?
Will there be something like C# 4's:
dynamic x = 10, y = 5;
Console.WriteLine(x + y);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
JDK 7 新功能:在 Java 虚拟机中支持动态类型语言 文章是一篇非常好的文章,回答了您的大部分问题。请特别注意 JSR 292 — 下一步动态语言支持(是的,它是 JSR 292,而不是 291)。
The New JDK 7 Feature: Support for Dynamically Typed Languages in the Java Virtual Machine article is a very good one and answers most of your questions. Pay a special attention to the section JSR 292 — The Next Step in Dynamic Language Support (yes, it's JSR 292, not 291).
您可能指的是 JSR 292,请参阅: http://blog .headius.com/2008/09/first-taste-of-invokedynamic.html
You probably mean JSR 292, see this: http://blog.headius.com/2008/09/first-taste-of-invokedynamic.html
JSR 292 就是你的意思。 此处有一篇不错的文章介绍了这些变化。更改是提供新的字节码指令
invokedynamic
以允许 动态调用。有关详细信息,请参阅达芬奇机器项目。JSR 292 is what you mean. There's a decent article on the changes here. The change is to provide a new bytecode instruction
invokedynamic
to permit dynamic invocation. See the Da Vinci machine project for more info.