通过用JAVAP反汇编来帮你理解Java特性

文章作者 100test 发表时间 2007:06:08 11:54:19
来源 100Test.Com百考试题网


本文通过介绍用Javap反汇编帮你理解Java特性,使用 Javap 深入查看类文件。

Java 开发人员熟悉在一个循环中使用StringBuffer 来代替串联 String 对象能获得最佳性能。然而,多数开发人员从来没有比较两种方法产生的字节代码的区别。在 Java 开发工具包(JDK)中有一个叫做 javap 的工具可以告诉你为什么这样做可以获得最佳性能。

Javap 将一个类和它的方法的一些转储信息输出到标准输出。该工具不把代码反编译为 java 源代码,但是它会把字节代码反汇编成为由 Java 虚拟机规范定义的字节代码指令。

在你需要查看编译器为你或者给你做了什么的时候,或者你想要看一处代码的改动对编译后的类文件有什么影响的时候,javap 相当有用。

现在以我们前面提到的 StringBuffer 和 String 作为一个例子。下面是一个专门为例子设计的类,它有两个方法,都返回一个由0到 n 的数字组成的 String,其中 n 由调用者提供。两个方法唯一的区别在于一个使用 String 构建结果,另外一个使用 StringBuffer 构建结果。

public class JavapTip {

public static void main(String []args) {

}



private static String withStrings(int count) {

String s = "".

for (int i = 0. i < count. i  ) {

s  = i.

}



return s.

}



private static String withStringBuffer(int count) {

StringBuffer sb = new StringBuffer().

for (int i = 0. i < count. i  ) {

sb.append(i).

}



return sb.toString().

}

}

现在让我们看看对这个类使用–c 选项运行 javap 的输出。-c 选项告诉 javap 反汇编在类中遇到的字节代码。
src="/linux/js/wxgg_linux.js">


相关文章


通过用JAVAP反汇编来帮你理解Java特性
Java技巧:用匿名类来实现简化程序调试
用Eclipse MyEclipse Tomcat的环境配置
详细解述7个软件开发原则[3]
详细解述7个软件开发原则[1]
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛