gpt4 book ai didi

java - JVM 会被扩展以处理泛型吗?

转载 作者:搜寻专家 更新时间:2023-11-01 02:55:02 26 4
gpt4 key购买 nike

你怎么看? JVM 会获得对泛型的支持吗?

很可能不仅需要对 JVM 进行大量更改,而且还需要对类文件格式进行大量更改,但是在 VM 上运行的语言将从中受益匪浅。

编辑:Java 语言实际上支持某种类型的泛型作为编译时特性,它向字节码添加了一些转换,以前人们必须手动添加。

不对 JVM 或类文件规范进行更改的决定在当时得到了很好的理解,因为他们不想破坏向后兼容性,而 Java 是目前 JVM 唯一重要的语言。

虽然这个决定可能适合 Java 语言,但它大大减少了其他语言必须选择它们希望如何在 VM 上实现泛型的自由度。

考虑到 Sun/Oracle 已经宣称要使 JVM 成为替代语言的更友好的地方,他们是否真的会按照他们的 promise 去做,或者认为低成本添加“InvokeDynamic”就足够了?

最佳答案

在我看来这不太可能。

将这些更改应用到 Java 语言会造成太大的破坏。与两种不同的泛型模型的语言和运行时向后兼容性将是设计人员的噩梦。

如果没有 Java 来插入对 JVM 的更改,很难看出 Oracle 如何/能够证明完成所需的工作是合理的。

我看到的唯一可能性是:

  • Oracle 决定开发一种 Java 的后继语言(不向后兼容),它可以更好地处理泛型、闭包和一大堆事情。这将是一个非常勇敢的商业决策,我认为 Oracle 做不到。

  • 一群其他人/公司聚在一起, fork JVM 规范和代码库。这也是一个勇敢的举动。

我认为 Oracle 不太可能仅仅为了支持他们没有商业兴趣的语言而对 JVM 进行重大更改。我们在这里谈论的是 Oracle ...与垂死的太阳时代相比,可以控制工程类型要做的事情。 (嘿......我们可以在这里开始整个 Jack Vance 主题:-)

关于java - JVM 会被扩展以处理泛型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3208727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com