“FRAME FULL”和“FRAME APPEND”有什么区别? 我检查了两种使用迭代器的方法:
int size = 0;
Iterator<String> it = l.iterator();
while (it.hasNext()) {
String s = it.next();
int length = s.length();
size += length;
}
int size = 0;
for (String s : l) {
int length = s.length();
size += length;
}
它们都使用迭代器,但字节码有点不同。
最佳答案
当操作数堆栈为空且当前局部变量与前一帧中的局部变量相同(除了定义了 k 个附加局部变量)时,使用帧类型append_frame。当所有其他类型都不适用时,使用帧类型 full_frame,它也是不太紧凑的类型。
关于Java字节码 "FRAME FULL"和 "FRAME APPEND"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7039326/