javap的基本用法
参考:http://www.cnblogs.com/beautiful-code/p/6424977.html
javap是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码。通过它,我们可以对照源代码和字节码,从而了解很多编译器内部的工作。
语法:
aaarticlea/png;base64,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" alt="" />
英文说明:
C:\>javap -help
Usage: javap <options> <classes>...
where options include:
-c Disassemble the code
-classpath <pathlist> Specify where to find user class files
-extdirs <dirs> Override location of installed extensions
-help Print this usage message
-J<flag> Pass <flag> directly to the runtime system
-l Print line number and local variable tables
-public Show only public classes and members
-protected Show protected/public classes and members
-package Show package/protected/public classes
and members (default)
-private Show all classes and members
-s Print internal type signatures
-bootclasspath <pathlist> Override location of class files loaded
by the bootstrap class loader
-verbose Print stack size, number of locals and args for methods
If verifying, print reasons for failure
示例:
下面也经典的StringBuilder代替String做字符串的例子。
public class JAVAPTest {
public static void main(String[] args) { } public static String contactWithStringNoLoopNoPara() {
String s = "This is " + " my " + "first JAVAP test code.";
return s;
} public static String contactWithStringNoLoop(int count) {
String s = "This is " + " my " + count + "th JAVAP test code.";
return s;
} public static String contactWithStringLoop(int count) {
String s = "";
for (int i = 0; i < count; i++) {
s += i;
}
return s;
} public static String contactWithStringBufferLoop(int count) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < count; i++) {
sb.append(i);
}
return sb.toString();
}
}
先编译:javac JAVAPTest.java
执行反编译:javap -c JAVAPTest //注意这个地方不需要class后缀。
结果如下:
Compiled from "JAVAPTest.java"
public class JAVAPTest extends java.lang.Object{
public JAVAPTest();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return public static void main(java.lang.String[]);
Code:
0: return public static java.lang.String contactWithStringNoLoopNoPara();
Code:
0: ldc #2; //String This is my first JAVAP test code.
2: astore_0
3: aload_0
4: areturn public static java.lang.String contactWithStringNoLoop(int);
Code:
0: new #3; //class java/lang/StringBuilder
3: dup
4: invokespecial #4; //Method java/lang/StringBuilder."<init>":()V
7: ldc #5; //String This is my
9: invokevirtual #6; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: iload_0
13: invokevirtual #7; //Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
16: ldc #8; //String th JAVAP test code.
18: invokevirtual #6; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: invokevirtual #9; //Method java/lang/StringBuilder.toString:()Ljava/lang/String;
24: astore_1
25: aload_1
26: areturn public static java.lang.String contactWithStringLoop(int);
Code:
0: ldc #10; //String
2: astore_1
3: iconst_0
4: istore_2
5: iload_2
6: iload_0
7: if_icmpge 35
10: new #3; //class java/lang/StringBuilder
13: dup
14: invokespecial #4; //Method java/lang/StringBuilder."<init>":()V
17: aload_1
18: invokevirtual #6; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: iload_2
22: invokevirtual #7; //Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
25: invokevirtual #9; //Method java/lang/StringBuilder.toString:()Ljava/lang/String;
28: astore_1
29: iinc 2, 1
32: goto 5
35: aload_1
36: areturn public static java.lang.String contactWithStringBufferLoop(int);
Code:
0: new #11; //class java/lang/StringBuffer
3: dup
4: invokespecial #12; //Method java/lang/StringBuffer."<init>":()V
7: astore_1
8: iconst_0
9: istore_2
10: iload_2
11: iload_0
12: if_icmpge 27
15: aload_1
16: iload_2
17: invokevirtual #13; //Method java/lang/StringBuffer.append:(I)Ljava/lang/StringBuffer;
20: pop
21: iinc 2, 1
24: goto 10
27: aload_1
28: invokevirtual #14; //Method java/lang/StringBuffer.toString:()Ljava/lang/String;
31: areturn }
有这个结果我们可以知道。
1。contactWithStringNoLoopNoPara方法中,代码里面是字符串拼接,貌似需要是用StringBuilder替换的好。其实在看了上面的反编译结果后,已经自动组合成一个固定字符串了。因此完全没有必要使用StringBuilder。
0: ldc #2; //String This is my first JAVAP test code.
2。contactWithStringNoLoop方法中,因为使用到了变量,貌似需要是用StringBuilder替换的好。其实在看了上面的反编译结果后,已经自动使用了StringBuilder。所以代码也没有必要使用StringBuilder。
3.
contactWithStringLoop方法中,是循环拼接字符串,貌似需要是用StringBuilder替换的好。看了反编译后,每个循环里面都
各自生成了一个StringBuilder,并将StringBuilder.toString()防赋值给我们的Sring变量。而我们希望的是只生成
一个StringBuilder对象。因此改为StringBuilder的好。循环的时候改为contactWithBufferLoop的方法最好。
4.contactWithBufferLoop方法中,是循环拼接字符串。也是我们预想的步骤在执行。
javap的基本用法的更多相关文章
- 轻松看懂Java字节码
java字节码 计算机只认识0和1.这意味着任何语言编写的程序最终都需要经过编译器编译成机器码才能被计算机执行.所以,我们所编写的程序在不同的平台上运行前都要经过重新编译才能被执行. 而Java刚诞生 ...
- 为什么阿里巴巴Java开发手册中强制要求整型包装类对象值用 equals 方法比较?
在阅读<阿里巴巴Java开发手册>时,发现有一条关于整型包装类对象之间值比较的规约,具体内容如下: 这条建议非常值得大家关注, 而且该问题在 Java 面试中十分常见. 还需要思考以下几个 ...
- windows命令行下简单使用javac、java、javap详细演示
最近重新复习了一下java基础,在使用javap的过程中遇到了一些问题,这里便讲讲对于一个类文件如何编译.运行.反编译的.也让自己加深一下印象. 如题,首先我们在桌面,开始->运行->键入 ...
- Java命令学习系列(7):Javap(转)
原文出处: Hollis(@Hollis_Chuang) javap是jdk自带的一个工具,可以对代码反编译,也可以查看java编译器生成的字节码. 一般情况下,很少有人使用javap对class文件 ...
- 【Java学习笔记之三十三】详解Java中try,catch,finally的用法及分析
这一篇我们将会介绍java中try,catch,finally的用法 以下先给出try,catch用法: try { //需要被检测的异常代码 } catch(Exception e) { //异常处 ...
- 巨人大哥谈Java中的Synchronized关键字用法
巨人大哥谈Java中的Synchronized关键字用法 认识synchronized 对于写多线程程序的人来说,经常碰到的就是并发问题,对于容易出现并发问题的地方价格synchronized基本上就 ...
- javap的使用
今天听的分享里在介绍String时,提到了javap,学习了好久的java,但是好像从来没有了解过这个工具. javap是JDK提供的一个命令行工具,javap能对给定的class文件提供的字节代码进 ...
- javap 反汇编class文件
用法: javap 参数 class文件路径 其中, 可能的选项包括: -help --help -? 输出此用法消息 -version 版本信息 -v -verbose 输出附加信息 -l 输出行号 ...
- Java命令学习系列(七)——javap
javap是jdk自带的一个工具,可以对代码反编译,也可以查看java编译器生成的字节码. 一般情况下,很少有人使用javap对class文件进行反编译,因为有很多成熟的反编译工具可以使用,比如jad ...
随机推荐
- 基于Nodejs的爬虫
简介 基于 Node.JS 爬取 博客园 1W+博文,对博文内容做关键词提取,生成词云. 演示 安装 安装 git.Node.JS.MongoDB.Yarn 克隆代码 git clone git@gi ...
- runtime比较全面的总结
类和对象 Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者 ...
- 【最大权闭合子图 最小割】bzoj1497: [NOI2006]最大获利
最大权闭合子图的模型:今天才发现dinic板子是一直挂的…… Description 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU集团旗下的CS&T通讯公司在 ...
- 关键字final
final数据 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象.再次赋值将引起编译报错. 当f ...
- java中的jdbc操作
package demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedSta ...
- destoon 给超级管理员系统权限(管理员管理,日志管理等)
destoon 后台某些系统权限除了网站创始人之外其他超管事没有权限的,现需要给其他超级管理员添加普通管理员的权限. 1.首先 admin/global.func.php admin_check函 ...
- 【php】函数重载问题
PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数.
- leetcode-8-pointer
void deleteNode(ListNode* node) { *node = *node->next; }
- Python之code对象与pyc文件(二)
上一节:Python之code对象与pyc文件(一) 创建pyc文件的具体过程 前面我们提到,Python在通过import或from xxx import xxx时会对module进行动态加载,如果 ...
- Selenium WebDriver-打开3个网址截图,文件夹用年月日命名,图片用当前时分秒命名
import os import os.path import time from selenium import webdriver urls=["http://www.baidu.com ...