Java字节码中的Stack Map Frames特性简介

Java字节码中的Stack Map Frames特性是Java 6引入的,当时是可选使用的。但是从Java 7开始,字节码默认使用该特性。
Stack Map Frames特性的主要目的是在字节码指令中跟踪局部变量表的类型、操作数的类型。

因为字节码在编译时已经加入了类型的信息,所以在JVM运行时加载字节码的时候,对字节码的验证能够更快速。

但是该特性的引入导致了一系列操作Java字节码的工具的不兼容。

在Java 7中,设置JVM参数-XX:-UseSplitVerifier,可以禁用该特性。
但是在Java 8中,已经去掉了JVM参数-XX:-UseSplitVerifier,该特性无法回避。

你可能感兴趣的:(Java字节码中的Stack Map Frames特性简介)