安装之后
在 view 的 ToolWindows 里也有一个这样的窗口
jclasslib 的主要作用是查看字节码的相关信息
package com.test;
public class Test {
public static void main(String[] args) {
Integer a = 1;
int b = a +2;
}
}
?例如我写了一段这样的代码,然后去查看他的字节码
编译完之后
因为内容写在了主函数里
所以查看
?
?0 iconst_1
?1 invokestatic #2 <java/lang/Integer.valueOf : (I)Ljava/lang/Integer;>
?4 astore_1
?5 aload_1
?6 invokevirtual #3 <java/lang/Integer.intValue : ()I>
?9 iconst_2
10 iadd
11 istore_2
12 return
iconst_1
加载数字1到操作数栈。
invokestatic #2 <java/lang/Integer.valueOf : (I)Ljava/lang/Integer;>
使用?
invokestatic
?调用?java.lang.Integer.valueOf(I)
?方法,将整数1转换为一个Integer对象并返回。这个方法的目的是将基本数据类型封装为对应的包装类对象。?astore_1
将返回的Integer对象存储在局部变量表中索引为1的局部变量中。
?aload_1将局部变量表中索引为1的局部变量中的Integer对象加载到操作数栈。
??invokevirtual #3 <java/lang/Integer.intValue : ()I>使用?
invokevirtual
?调用?java.lang.Integer.intValue()
?方法,将Integer对象转换为其基本数据类型int的值,并将结果加载到操作数栈。?iconst_2
加载数字2到操作数栈。
?iadd
使用?
iadd
?执行整数加法操作,将操作数栈中的两个整数相加,并将结果存储在操作数栈中。?istore_2
使用?
iadd
?执行整数加法操作,将操作数栈中的两个整数相加,并将结果存储在操作数栈中。?return
返回方法,结束方法执行。
?