首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么java虚拟机规范仍然是1999版本?

为什么java虚拟机规范仍然是1999版本?
EN

Stack Overflow用户
提问于 2011-07-07 09:44:42
回答 3查看 146关注 0票数 2

jvm规范版本2:http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html似乎很老了。

java已经发布了新的版本,变化很大。Java5、java6..

但jvm规范似乎保持不变。

这是否意味着它只是过时了?或者,新的java语言特性不会改变jvm规范。甚至很多都在1.5中引入了泛型、并发和jvmti?

或者是因为jvm只与运行类文件相关,而类文件并没有改变,如何运行它们的规范也没有改变?

在这个话题上我有点困惑。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-07 09:55:05

你只是看起来不够好;)但我同意这是相当不直观和有问题的。有关等级库的更改,请参见here。但请注意,例如泛型的实现方式不需要对JVM进行更改,因此不需要对规范进行太多更改。

虽然我不确定上面的列表是否完整(实际上,我认为在Java7中对switch语句的更改必须在JVM级别上处理,因为这需要与当前的两种解决方案完全不同的方法),但总的来说,我同意拥有一个包含所有澄清和添加内容的最新版本的规范确实非常好。

PS:我认为JVM本身最大的变化是Java5对内存模型的改变(即提供了易失性的读/写、获取/释放语义)。

票数 5
EN

Stack Overflow用户

发布于 2011-07-07 10:04:55

一旦你有了一门相当完整的语言(Turing complete,ways to interface to O/S services),从那时起,最好的方法就是使用……

  1. Libraries.
  2. Syntactic或其他糖,有效地转换为底层相当完整的语言,或者至少可以使用相同的“后端”实现的东西。

paricular的第二个优点是更容易在不同版本之间兼容。为较新版本的语言构建的代码有时仍然可以在较旧版本的VM上运行。

JVM大概是一个设计良好的虚拟机,不需要太多的升级。

票数 1
EN

Stack Overflow用户

发布于 2011-07-07 11:58:25

我怀疑JVM规范没有第三版的真正原因是以下一个或多个:

其中一位作者

  • (蒂姆·林德霍尔姆)现在为谷歌工作。
  • 制作一本书需要付出很大的努力,而甲骨文的工作人员正忙于其他事情。
  • 甲骨文查看了投资回报,认为这不值得。出版商
  • 查看了图书销售情况,认为不值得。

我预计第三版最终会出现。同时,附录将告诉您Java 5和Java 6中发生了什么变化,并告诉您从哪里获取详细信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6604961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档