如何判断一个局部变量是否来自Java字节码的"最终"?(与BCEL相关)

ET1*_*T13 5 java bytecode bcel

信息,例如局部变量是否"最终"存储在Java字节码中?我知道对于字段(全局变量)和方法,这些在访问标志位中找到,但似乎无法在局部变量表中找到等效项.

我对这个问题很感兴趣,因为我正在使用BCEL来检查局部变量是否是最终的,并且已经找到了AccessFlags类中的字段,方法和类的等价物.

提前致谢.

Viv*_*sse 4

局部变量的最终性由编译器检查,并且不会进入字节码。运行时不需要此信息,因此不会存储在字节码中。

JVM 以相同的方式处理最终和非最终局部变量。