- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
源代码:
public class Example {
public int plus(int a){
int b = 1;
return a + b;
}
}
前一个文件类的反汇编结果:
public int plus(int);
Code:
Stack=2, Locals=3, Args_size=2
0: iconst_1
1: istore_2
2: iload_1
3: iload_2
4: iadd
5: ireturn
LineNumberTable:
line 5: 0
line 6: 2
LocalVariableTable:
Start Length Slot Name Signature
0 6 0 this LExample;
0 6 1 a I
2 4 2 b I
我的问题是如何理解下面的区域,这里的Length
、Slot
是什么意思:
LocalVariableTable:
Start Length Slot Name Signature
0 6 0 this LExample;
0 6 1 a I
2 4 2 b I
最佳答案
参见 the specs :
Start 是变量在字节码中定义的行,length 是定义它的字节码的行数。所以start to length定义了变量的范围。我猜 Slot 对应于索引,第一个变量本身大致为 0,第二个变量为 1,第三个变量为 2,依此类推(加上在 double /长整数的情况下添加的偏移量)。
关于java - 如何理解 javap 输出中的 LocalVariableTable 区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21644197/
给出一个简单的 try-catch-finally 方法: public void t() { try { f1(); }catch(Exception e) {
某些框架使用字节码中的调试信息读取方法参数名称。但调试信息包含更多内容。 为了最小化类大小(只是想知道),我们可能会删除所有 LineNumberTable 数据,并通过删除除方法参数名称之外的所有内
我正在使用 ASM 4.0,并且遇到了来自 JBoss 发行版的 org/jboss/jms/client/delegate/ClientClusteredConnectionFactoryDel
源代码: public class Example { public int plus(int a){ int b = 1; return a + b; } } 前一
我正在尝试使用自定义编译器编译以下代码: public static void main([String] args) { long i = 2L i *= 2L System
第1步:我编译了以下代码: public class OuterClass { class InnerClass{ } } 我有 OuterClass.class 和 OterClass$I
下面是例子: LocalVariableTable: Start Length Slot Name Signature 0 133
我正在尝试理解 Java 字节码。我使用命令 javap -c -v -l -s HelloWorld.class 来分析我的简单 HelloWorld。但是,我看不到 LocalVariableTa
我是一名优秀的程序员,十分优秀!