Java反编译
《Thinking in java 》的Chapter13章,发现其中说到字符串的内容。String对象是一次性的,不可变的。直接上例子:
public class Immutable {
public static String upcase (String s)//将一串字符转换成大写
{
return s.toUpperCase();
}
public static void main(String [] args)
{
String q = "howdy";
System.out.println(q);
// String qq = upcase (q);
// System.out.println(qq);
System.out.println(upcase (q));
//这样的例子更能说明问题
System.out.println(q);
//为了证明q本身并没有改变,只是从新创建了一个全新的String对象
}
}
//本例即证明String对象是一次性的,永久的。而下面的例子则可以使用Javap反编译来研究。
public class Concatenation {
public static void main(String [] args )
{
String mango = "mango";
String s = "abc"+ mango + "49";
System.out.println(s);
}
}
下面我们来谈谈怎么使用javap反编译
1.首先使用win+r打开DOS窗口,在自己安装JDK的路径下输入javap得到以下的页面
2.将自己所写的代码以及编译文件[注:.class]放到DOS页面指示的那个文件夹下。小编的编译如下:
3.这样我们就得到了javap的反编译文件啦。