开发中如果我们想看JVM虚拟机怎么编译我们的Java文件,生成字节码的,用IDEA工具就可以查看!!

1、javap的参数

-help  --help  -?        输出此用法消息
  -version                 版本信息
  -v  -verbose             输出附加信息
  -l                       输出行号和本地变量表
  -public                  仅显示公共类和成员
  -protected               显示受保护的/公共类和成员
  -package                 显示程序包/受保护的/公共类和成员 (默认)
  -p  -private             显示所有类和成员
  -c                       对代码进行反汇编
  -s                       输出内部类型签名
  -sysinfo                 显示正在处理的类的系统信息 (路径, 大小, 日期, MD5 散列)
  -constants               显示静态最终常量
  -classpath <path>        指定查找用户类文件的位置
  -bootclasspath <path>    覆盖引导类文件的位置

因为我们知道java文件进入虚拟机的一个大致过程是:

A.java文件,经过编译后,生成.class文件,这个.class文件是个二进制文件,你没法看得懂,只有虚拟机能看得明白,因为虚拟机有一个字节码表,而作为程序员是看不懂这些16进制的文件的,你这可以背下来???

因为我这里用到的是Notepad++,需要安装一个HEX-Editor插件;下面的东西我只知道一个ca fe ba be.....

所以class文件就长这个样子,那么这些什么00 07,这些16进制的表示,对应代表着什么呢?这个以后再说,总之你目前看不懂就是了

那么java提供了可以解析class文件称为字节码文件的工具,把这个class文件,翻译成字节码文件,告诉虚拟机你要去做什么操作。

所以javap的命令,就是这样来的。java parser!!

2、配置IDEA

然后+号,这三行照写下

  • $JDKPath$\bin\javap.exe
  • -verbose -p -c $FileClass$
  • $OutputPath$

然后OK点击。

这样就能看到编译的细节了。

是不是很方便???

教你IDEA中如何快速查看Java字节码,必须点赞收藏!!!相关推荐

  1. 3种骚操作,教你查看 Java 字节码!

    在我们工作.学习.以及研究 JVM 过程当中,不可避免的要查看 Java 字节码,通过查看字节码可以了解一个类的编译结果,也能通过编译器层面来分析一个类的性能. 字节码文件是不能直接打开的,下面栈长教 ...

  2. java 字节码查看_一种查看java字节码时显示方法调用关系图的方法与流程

    本发明涉及一种代码逻辑分析方法,具体涉及一种查看java字节码时显示方法调用关系图的方法. 背景技术: 目前软件反编译领域有不少对可执行文件进行反编译的工具如IDA,也有对Java代码生成的中间码文件 ...

  3. Idea如何方便的查看Java字节码文件,你是怎么做的

    ·校园的傍晚· 前言 作为一名Java开发人员,我想Java字节码文件是无论如何都会接触到的,也是要读懂的.面试或者是自己开始研究Java的一些底层原理,大都会遇上要字节码文件的时候. 接下里咱们一起 ...

  4. Java进阶——如何查看Java字节码

    前言 深入学习Java语言,也免不了要去研究JVM类加载.JVM字节码相关的东西,这时就需要经常查看字节码. 方法 1.使用命令行 命令行有两种方式 java -c 在编译后,进入字节码存放的文件夹, ...

  5. 查看Java字节码内容的几种方式

    1.javap 通过javac和javap查看:先通过javac将.java文件编译成.class字节码文件,然后通过javap -verbose分析字节码. (base) tinytongtongd ...

  6. 使用idea查看Java字节码

    1. 使用idea自带的工具 直接配置一个External Tools,在idea中找到位置File->Setting->Tools->External Tools 点击绿色+号(因 ...

  7. IDEA查看Java字节码文件

    在Java项目开发的过程中,我们有时候需要获得Java的字节码文件( .class文件 ),以便加深对问题的理解与排查. 步骤: 1. 单击IDEA右侧的Maven工程管理,选择生命周期控制(life ...

  8. Mac使用hsdis查看java字节码的汇编命令

    前言 在<Java并发编程的艺术>这本书的第2.1章节提到了了volatile关键字会产生Lock锁前缀.比较好奇读会不会产生Lock锁前缀,如果对读不加Lock锁前缀,那么会不会在并发时 ...

  9. IDEA下查看Java字节码(插件ByteCode Viewer)

    安装jclasslib bytecode viewer插件 使用 结果

最新文章

  1. 【TPAMI2020】目标检测中的不平衡问题:综述论文,34页pdf
  2. 京东零售CEO徐雷升任京东集团总裁,刘强东:将把更多时间投入乡村振兴等事业中...
  3. MySQL 高级 - 语法 - if判断
  4. 数据仓库、数据湖、流批一体
  5. Java对象序列化的本机C / C ++类似性能
  6. arm 交叉编译找不到so_嵌入式杂谈之交叉编译
  7. java 字谜_计算字谜的出现次数
  8. LNMP一键安装包 PHP自动升级脚本
  9. 中telnet_web开发中的编码问题
  10. 服务器能进系统滴滴响,ibm x226服务器开机嘀嘀嘀响三遍就没反应了。是怎么回事?内存吗?...
  11. MATLAB 程序出现错误总结
  12. Unit06: 数组的常用方法_2 、 二维数组 、 String_1
  13. 富士相机设置传原图_「富士相机」机身设置分享,摄影小白也可以拍摄到胶片感的照片...
  14. 【UAV】第一台穿越机QAV250组装记录v1.0
  15. 【20211106】【数据分析】hist 和 bar 的区别
  16. 金蝶KIS迷你版、标准版年结注意事项!!
  17. 超文本标记语言是指Java_超文本标记语言(HTML)
  18. apmserv mysql密码_apmserv中修改mysql的root与phpmyadmin密码方法介绍
  19. 2019年5大企业网盘对比
  20. 什么是多媒体应用开发?

热门文章

  1. 可操作性强!Python实现一个电影订票系统!
  2. 数据爆发时代,英特尔携手腾讯构筑全面的数据长城
  3. 有答案了!一张图告诉你到底学Python还是Java!你咋看?
  4. 华为推CPU Turbo,荣耀Note10突破3000档
  5. 周志华出任京东人工智能研究院学术委员会委员
  6. AI一分钟 | 谷歌CEO承诺在中国组建更大团队;苹果与清华大学成立研究中心,并将帮助30万名贫困学生
  7. 900万张标注图像,谷歌发布Open Images最新V3版
  8. 疯狂上涨的 Python,开发者应从 2.x 还是 3.x 着手?
  9. 记一次简单的 JVM 调优经历
  10. 这可能是最中肯的Redis规范了