知识大全 javap(反汇编命令)详解
Posted 命令
篇首语:当筵意气临九霄,星离雨散不终朝。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 javap(反汇编命令)详解相关的知识,希望对你有一定的参考价值。
javap是JDK自带的反汇编器 可以查看java编译器为我们生成的字节码 通过它 我们可以对照源代码和字节码 从而了解很多编译器内部的工作 语法 javap [ 命令选项 ] class javap 命令用于解析类文件 其输出取决于所用的选项 若没有使用选项 javap 将输出传递给它的类的 public 域及方法 javap 将其输出到标准输出设备上 命令选项 help 输出 javap 的帮助信息 l 输出行及局部变量表 b 确保与 JDK javap 的向后兼容性 public 只显示 public 类及成员 protected 只显示 protected 和 public 类及成员 package 只显示包 protected 和 public 类及成员 这是缺省设置 private 显示所有类和成员 J[flag] 直接将 flag 传给运行时系统 s 输出内部类型签名 c 输出类中各方法的未解析的代码 即构成 Java 字节码的指令 verbose 输出堆栈大小 各方法的 locals 及 args 数 以及class文件的编译版本 classpath[路径] 指定 javap 用来查找类的路径 如果设置了该选项 则它将覆蓋缺省值或 CLASSPATH 环境变量 目录用冒号分隔 bootclasspath[路径] 指定加载自举类所用的路径 缺省情况下 自举类是实现核心 Java 平台的类 位于 jrelib t jar 和 jrelibi n jar 中 extdirs[dirs] 覆蓋搜索安装方式扩展的位置 扩展的缺省位置是 jrelibext 实例 Hello java文件public class Hellostatic void main(String args[])int i= ;int j= ;int m=i+j;System out println( m: +m);int get()int a= ;int b= ;int c= ;int d= ;int e= ;int f= ;int n=a+b+c+d+e+f;return n;static int get ()int a= ;int b= ;int c= ;int d=a+b;return d;然后再执行以下命令 javac Hello javajavap c Hello得到Compiled from Hello java public class Hello extends java lang Objectpublic Hello(); Code: :aload_ :invokespecial # ; //Method java/lang/Object <init> :()V :return
static void main(java lang String[]); Code: :bipush :istore_ :bipush :istore_ :iload_ :iload_ :iadd :istore_ :getstatic # ; //Field java/lang/System out:Ljava/io/PrintStream; :new # ; //class java/lang/StringBuilder :dup :invokespecial # ; //Method java/lang/StringBuilder <init> :()V :ldc # ; //String m: :invokevirtual # ; //Method java/lang/StringBuilder append:(Ljava/lang/String;)Ljava/lang/StringBuilder; :iload_ :invokevirtual # ; //Method java/lang/StringBuilder append:(I)Ljava/lang/StringBuilder; :invokevirtual # ; //Method java/lang/StringBuilder toString:()Ljava/lang/String; :invokevirtual # ; //Method java/io/PrintStream println:(Ljava/lang/String;)V :return
int get(); Code: :iconst_ :istore_ :iconst_ :istore_ :iconst_ :istore_ :iconst_ :istore :iconst_ :istore :bipush :istore :iload_ :iload_ :iadd :iload_ :iadd :iload :iadd :iload :iadd :iload :iadd :istore :iload :ireturn
static int get (); Code: :iconst_ :istore_ :bipush :istore_ :bipush :istore_ :iload_ :iload_ :iadd :istore_ :iload_ :ireturn
cha138/Article/program/Java/hx/201311/27151相关参考
>exphelp=y 通过输入EXP命令和用户名/口令您可以 在用户/口令之后的命令: 实例:EXPSCOTT/TIGER 或者您也可以通过输入跟有各种参数的EXP命令来控制导出的运
if 命令示例详解if正如它E文中的意思就是如果的意思用来进行条件判断翻译过来的意思就是如果符合某一条件便执行后面的命令主要用来判断两个字符串是否相等两个数值是大于小于等于然后执行相应的命令
Memcached常用命令以及使用说明详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一存储命令
PowerBuilder命令行编译详解[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这里
PowerBuilder命令行编译详解[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 公司
cha138/Article/program/qrs/201404/30404
Oracle中通过命令行实现定时操作详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Orac
命令模式将一个请求封装为一个对象从而你可用不同的请求对客户进行参数化对请求排队或记录请求日志以及支持可撤销操作 代码如下:<?php//命令接口interfaceCom
知识大全 制作可以执行的 JAR 文件包及 jar 命令详解
制作可以执行的JAR文件包及jar命令详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 作者:
Jar文件包间接及Jar命令开发实例详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 常常看到