2013-03-17 36 views
1

在互联网上是否有任何地方,是在JVM字节码(或类格式)规格改变多年来的事情的清单?变化的Java二进制类格式规范

比如我知道有一堆的,因为类文件版本49.0和51.0加到类的新属性。并且自从49.0以来,ldc*指令支持更多参数。是否有完整的此类更改列表?

回答

2

您可以比较JVM规范不同的版本。

不幸的是,我不知道干净勾画出所有的差异的任何地方,但你可以通过观察周围here拿个主意。对于版本1.5和1.6,更改以红色突出显示。

我想补充的主要事情是可选的属性,以支持在Java语言中的新功能 - anotations,枚举,内部类,泛型,等等。 51.0也加入了所有invokedynamic相关的东西。 50.0添加了在51.0中被强制使用的StackMapTable。另外,50.0删除了jsr/ret指令。

IIRC ldc可以加载从50.0开始的类常量和从51.0开始的MethodType常量