2021-08-30 12:02

Java反编译-字符串拼接

码自答

JavaEE

(1237)

(0)

收藏

1 java开发工具

image.png

java.exe运行Java程序

javac.exe编译Java程序,Java程序源代码编译成字节码

javap.exe字节码文件 反编程成Java或者汇编代码

注意:

image.png

使用时出现以下界面:

image.png

需要配置环境变量。


2 编译

c:/userTest目录下建Test.java文件

image.png

编译:

image.png


3 反编译

image.png

javap显示类和成员。

可以看到Test类有默认的不带参数的构造方法。

image.png

javap -c 对字节码进行反汇编。

从#7可以发现  String x = "ab"+"cd";编译成字节码就编程String x = "abcd";

所以本例题输出x==y的值为true.


4 反编译实例分析

image.png

从反编译的汇编代码中间可以看出,String x = a+b;调用的是makeConcatWithConstants方法。

而 String y = "ab"+"cd";汇编代码直接是  "abcd"。所以输出结果为false。





0条评论

点击登录参与评论