美文网首页JVM
27-javap指令

27-javap指令

作者: 紫荆秋雪_文 | 来源:发表于2021-06-24 11:06 被阅读0次

一、解析字节码的意义

  • javap是JDK自带的反解析工具。它的作用就是根据 Class 字节码文件,反解析出当前类对应的 code 区(字节码指令、局部变量表、异常表和代码行偏移量映射表、常量池等信息)
  • 通过局部变量表,可以查看局部变量表的作用域范围、所在槽位等信息,甚至可以看到槽位复用等信息

二、javac -g 操作

  • 解析字节码文件得到的信息中,有些信息(局部变量表、指令和diam行偏移量映射表、常量池中方法的参数名称等等)需要在使用 javac 编译成 class 文件时,指定参数才能输出
  • 直接使用 javac xx.java 命令不会产生对应的局部变量表信息
  • javac -g xx.java 就可以生成所有相关信息了

三、javap

  • javap使用格式
javap <options> <classes>
  • -help --help -?:输出此用法消息
  • -version:版本信息,javap所在JDK的版本信息
  • -public:仅显示公共类和成员
  • -protected:显示受保护的/公共类和成员
  • -p -private:显示所有类和成员
  • -package:显示程序包/受保护的/公共类和成员(默认)
  • -sysinfo:显示正在处理的类的系统信息(路径,大小,日期,MD5散列,源文件名)
  • -constants:显示静态最终常量
  • -s:输出内部类型签名
  • -l:输出行号和本地变量表
  • -c:对代码进行反汇编
  • -v -verbose:输出附加信息(包括行号、本地变量表、反汇编等详细信息)

相关文章

  • 27-javap指令

    一、解析字节码的意义 javap是JDK自带的反解析工具。它的作用就是根据 Class 字节码文件,反解析出当前类...

  • MIPS指令集与简要分析

    R格式指令 基本格式 指令 算数类指令 逻辑类指令 位移类指令 跳转指令 I格式指令 基本格式 指令 算数指令 逻...

  • 指令指令

    /tellraw @a {"rawtext":[{"text":"你的名字 获得了成就 §a[你要的成就]"}]}...

  • Linux——DAY2进阶指令

    1、df 指令 2、free指令 3、head指令 4、tail指令 5、less指令 6、wc指令 7、date...

  • Java Web开发学习中2.(JSP指令元素)

    JSP指令元素: page指令, include指令,taglib指令. 一. page指令: 用来设定JSP页面...

  • linux指令大全(归类整理)

    一.文件目录指令 1 pwd指令 2 ls指令 3 cd指令 4 mkdir指令 5 rmdir指令 6 touc...

  • 汇编笔记4(跳转)

    第9章(转移指令): 8086转移指令: 无条件转移指令,条件转移指令,循环指令,过程,中断 offset(伪指令...

  • 控制器、微程序控制

    1.控制器的功能 (1)取指令(指令地址,控制信号) (2)分析指令(解释指令,指令译码) (3)执行指令 (4)...

  • (32位汇编 七)堆栈/栈(stack)

    PUSH指令 POP指令 PUSHAD指令 保护现场 POPAD指令 恢复现场

  • Angular 指令,管道,服务

    1. 指令 Directive 指令是 Angular 提供的操作 DOM 的途径。指令分为属性指令和结构指令...

网友评论

    本文标题:27-javap指令

    本文链接:https://www.haomeiwen.com/subject/lujwyltx.html