一款Java字节码神器-jclasslib bytecode viewer
一款Java字节码神器-jclasslib bytecode viewer
相信很多学习Java的小伙伴都很好奇编译后的class文件里面的内容到底长什么样?我们都知道class文件里面存储的是字节码,直接打开文件是一堆乱码,所以我们需要一些工具来帮助我们去查看字节码的内容。我们常用的有JDK中javap命令,通过javap命令输出的内容不能很直观的展示整个class文件的结构。今天给大家推荐一款字节码学习的神器,它就是jclasslib bytecode viewer。、
jclasslib bytecode viewer是一款以可视化方式展示class文件的工具。同时,它还提供一个库帮助开发者读写Java类文件。
官网地址:https://github.com/ingokegel/jclasslib
jclasslib在提供了IDEA的插件,下面我们来介绍一下如何在IDEA中安装:
在Plugins中搜索jclasslib bytecode viewer
点击Install安装,安装完成后restart IDE
先编写一个Java实例代码,如下所示:
package cy.day20201025;
public class Main {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = a + b;
System.out.println(c);
}
}
这里需要注意的是,需要先把源码编译成class文件
通过使用jclasslib bytecode view查看该类的字节码信息,如下图所示:
从上图我们可以看到整个class文件里面的所有信息,包含常量池、接口、方法、字段等信息。
查看某个指令更详细的信息
假设我们想了解istore指令的更加详细的信息,我们可以点击istore指令,会跳转到一个详细页面:
好了,这款神器就介绍到这,大家要是想对Java字节码进行学习,可以使用这款神器哦!
欢迎关注小强1024实验室,和小强一起用技术改变世界
一款Java字节码神器-jclasslib bytecode viewer相关教程
#Eclipse Java连接MySQL数据库
#Eclipse Java连接MySQL数据库 CREATE TABLE `information` ( `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `sex` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `age` bigint(50) DEFAULT NULL) ENGINE = InnoD
09_06.【Java】枚举类型
09_06.【Java】枚举类型 枚举是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类多了一些特殊的约束,但是这些约束的存在也使得枚举类型具有简洁、安全以及便捷的优良特性。枚举是一系列具有名称的常量的集合,比如:一年的 4 个季节,
JavaWeb自学笔记04
JavaWeb自学笔记04 约束:对表中的数据进行限定,保证数据的正确性、有效性和完整性 分类: 1、主键约束: primary key 2、非空约束: not null 3、唯一约束: unique 4、外键约束: foreign key 非空约束: not null 创建表时添加约束: 字段名 数据类型 not
DOM事件
DOM事件 javascript与HTML之间的交互是通过事件实现的。事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。 事件三要素: 1)事件目标(eventtarget)发生的事件与之相关联或与之相关的对象 2)事件处理程序(eventhandler)处理或相应事件的函数 3)事件
JavaScript进阶教程(7)-正则表达式
JavaScript进阶教程(7)-正则表达式 引言 正则表达式在各种编程语言中,都有广泛的应用。在JavaScript中更是不可或缺,正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。例如验证表单:用户名表单只能输入英文字母、数字或者下划线, 昵称输入框
Java 基于 OpenCV4.4 - 加载图像及保存图像教程 (三)
Java 基于 OpenCV4.4 - 加载图像及保存图像教程 (三) 从指定路径下加载图像文件,并把它转换为Mat对象以进行数字操作。OpenCV有一个名为imread的简单函数,用以从文件中读取图像。它通常只需要图像在本地文件系统上的文件路径,但同时这个函数还带有一个缺
SpringCloud集成组件Ribbon 报错:java.lang.IllegalStateExcept
SpringCloud集成组件Ribbon 报错:java.lang.IllegalStateException: No instances available for localhost 1. 报错信息 java.lang.IllegalStateException: No instances available for localhost 2. 问题重现 服务提供者向外暴露接口,我们可以访问。但是ri
滴答滴答 ——Java计时器
滴答滴答 ——Java计时器 作用: 计时器也就是用来计时的东西。当你需要隔一段时间去干一件事的时候就可以用到它,比如: 当某拼夕夕网站的抢购在一段规定的时间内需要结束时。 比如某宝的页面需要在一段规定的时间里刷新页面时。 当你设置的闹钟在规定时间将