互联网上是否存在多年来以jvm字节码(或类格式)规范更改的内容列表?
例如,我知道自类文件版本49.0和51.0以来,有一些新属性被添加到类中。此外,ldc*
指令支持自49.0以来的更多参数。是否有完整的此类更改列表?
答案 0 :(得分:2)
您可以比较不同版本的JVM规范。
不幸的是,我不知道任何地方干净地列出了所有的差异,但你可以通过环顾here来获得一个想法。对于版本1.5和1.6,更改以红色突出显示。
我认为添加的主要内容是支持Java语言中的新功能的可选属性 - anotations,enums,内部类,泛型等。 51.0还加入了所有与invokedynamic相关的东西。 50.0添加了在51.0中强制使用的StackMapTable。此外,50.0删除了jsr / ret指令。
IIRC ldc
可以加载从50.0开始的Class常量和从51.0开始的MethodType常量