高端企业网站信息,网站更改备案信息在哪里,杭州比较好的网站建设公司,微信小程序网站模板文章目录 一、Java虚拟机的组成二、字节码文件的组成1、基本信息2、常量池3、字段4、方法5、属性 三、常用的字节码工具1、javap -v 命令2、jclasslib插件3、阿里arthas 一、Java虚拟机的组成 二、字节码文件的组成
1、基本信息
魔数、字节码文件对应的Java版本号访问标识public final等等父类和接口。
2、常量池
保存了字符串常量、类或接口名、字段名主要在字节码指令中使用。
常量池中的数据都有一个编号编号从1开始。在字段或者字节码指令中通过编号可以快速的找到对应的数据。字节码指令中通过编号引用到产量池的过程称为符号引用。
3、字段
当前类或接口声明的字段信息。
字节码中的方法区域是存放字节码指令的核心位置字节码指令的内容存放在方法的Code属性中。
4、方法
当前类或接口声明的方法信息字节码指令
5、属性
类的属性、比如源码的文件名内部类的列表等。
三、常用的字节码工具
1、javap -v 命令
javap是JDK自带的反编译工具可以通过控制台查看字节码文件内容。适合在服务器上查看字节码文件内容。直接输入javap查看所有参数。输入javap -v 字节码文件名称查看具体的字节码信息。如果jar包需要先使用jar -vxf命令解压。
2、jclasslib插件
jclasslib也有idea插件版本建议开发时使用idea插件版本可以在代码编译之后实时看到字节码文件内容。
3、阿里arthas
Arthas是一款线上监控诊断产品通过全局视角实时查看应用load、内存、gc、线程的状态信息并能在不修改应用代码的情况下对业务问题进行诊断大大提升线上问题排查效率。 官网https://arthas.aliyun.com/doc/quick-start.htmldump 类的权限定名dump已加载类的字节码文件到特定目录。jad 类的权限定名反编译已加载的源码。