javap - Java class文件分解器

IntelliJ IDEA 快速分析Class文件,集成JDK工具 背景 在学习《深入理解Java虚拟机》时,难免要对class文件进行研究.好在Oracle已经为我们提供了专门分析Class文件字节码的工具:javap,因此我们只需把该工具集成到我们的IDEA中即可. ... 阅读详情
javap是jdk自带的一个工具,可以反编译,也可以查看java编译器生成的字节码,是分析代码的一个好工具。
描述:

  javap命令分解一个class文件,它根据options来决定到底输出什么。如果没有使用options,那么javap将会输出包,类里的protected和public域以及类里的所有方法。javap将会把它们输出在标准输出上。来看这个例子,先编译下面这个类。

import java.awt.*;  
import java.applet.*;  

public class DocFooter extends Applet {  
     String date;  
     String email;  
 
     public void init() {  
             resize(500,100);  
             date = getParameter("LAST_UPDATED");  
             email = getParameter("EMAIL");  
     }  
 
     public void paint(Graphics g) {  
             g.drawString(date + " by ",100, 15);  
             g.drawString(email,290,15);  
     }  
}  

在命令行上键入javap DocFooter后,输出结果如下

Compiled from DocFooter.java  
public class DocFooter extends java.applet.Applet {  
 java.lang.String date;  
 java.lang.String email;  
 public DocFooter();  
 public void init();  
 public void paint(java.awt.Graphics);  
} 
如果加入了-c,即javap -c DocFooter,那么输出结果如下

Compiled from DocFooter.java  
public class DocFooter extends java.applet.Applet {  
  java.lang.String date;  
  java.lang.String email;  
  public DocFooter();  
  public void init();  
  public void paint(java.awt.Graphics);  
}  

Method DocFooter()  
 0 aload_0  
 1 invokespecial #1   
 4 return  

Method void init()  
 0 aload_0  
 1 sipush 500  
 4 bipush 100  
 6 invokevirtual #2   
 9 aload_0  
 10 aload_0  
 11 ldc #3   
 13 invokevirtual #4   
 16 putfield #5   
 19 aload_0  
 20 aload_0  
 21 ldc #6   
 23 invokevirtual #4   
 26 putfield #7   
 29 return  
 
Method void paint(java.awt.Graphics)  
 0 aload_1  
 1 new #8   
 4 dup  
 5 invokespecial #9   
 8 aload_0  
 9 getfield #5   
 12 invokevirtual #10   
 15 ldc #11   
 17 invokevirtual #10   
 20 invokevirtual #12   
 23 bipush 100  
 25 bipush 15  
 27 invokevirtual #13   
 30 aload_1  
 31 aload_0  
 32 getfield #7   
 35 sipush 290  
 38 bipush 15  
 40 invokevirtual #13   
 43 return  


当然,如果想分析这个文件,可以讲输出结果输出到一个文件里。可以这样写
javap -c DocFooter > F://test.txt
这样就会输出到F盘的test.txt文件中了。

选项:
   -help 不说了
   -l 输出行和变量的表
   -public 只输出public方法和域
   -protected 只输出public和protected类和成员
   -package 只输出包,public和protected类和成员,这是默认的
   -private  输出所有类和成员
   -s 输出内部类型签名
   -c 输出分解后的代码,例如,类中每一个方法内,包含java字节码的指令,
   -verbose 输出栈大小,方法参数的个数
   。。。

http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/javap.html


javap 反编译 java 字节码文件 概述: javap是 Java class文件分解器,可以反编译,也可以查看java编译器生成的字节码,从而对代码内部的执行逻辑进行分析。 语法: 把java文件编译为class文件:javacTest.java(Test.java为java文件名) 生成对应的 .class 文件 Test.class 执行javap操作:javap ... 阅读详情

相关推荐

使用类分解器Javap分析Java字节码

NULL 博文链接:https://shansun123.iteye.com/blog/658120

文件拆分器(FileSplitter)

文件拆分器(FileSplitter)

博客标题 2275

文件分解器

分解大型文件,可以解决免费邮箱的附件的上传问题,本软件也是我本人自己编码的。

类分解器JavaP--分析Java字节码

转自: http://www.comprg.com.cn/detail.asp?hw_id=2632 深入Java编程——Java的字节代码 Java程序员很少注意程序的编译结果。事实上,Java的字节代码向我们提供了非常有价值的信息。特别是在调试排除Java性能问题时, 编译结果让我们可以更深入地理解如何提高程序执行的效率等问题。其实JDK使我们研究Java字节代码变得非常...

跑向经分的新手 538

数据库文件分解器

将导出的SQL的数据库大文件按照规定的文件大小进行分解成小文件,保证数据文件可以进行修改

XPe开发初体验(一)XPe概述

XP Embedded是微软Windows Embedded产品线中非常重要的一环,不过比起大名鼎鼎的Windows Embedded CE,XPe显得过于低调了。在接下来的一段时间里,我希望能够用六篇的篇幅来描述一下XPe的整个开发过程。这个系列文章主要是针对有Windows编程经验,但是没有嵌入式开发经验的开发者,提供一些概念和开发过程的初步介绍。XP Embedded是一个基于Windo

aawolf = new Mobile.MVP 1万+

java类分解器的后缀名_javap - Java class文件分解器

javap是jdk自带的一个工具,可以反编译,也可以查看java编译器生成的字节码,是分析代码的一个好工具。描述:javap命令分解一个class文件,它根据options来决定到底输出什么。如果没有使用options,那么javap将会输出包,类里的protected和public域以及类里的所有方法。javap将会把它们输出在标准输出上。来看这个例子,先编译下面这个类。import java....

weixin_27038261的博客 532

自适应粒子群优化(Adaptive Particle Swarm Optimization,APSO

下面是一个关于自适应粒子群优化(Adaptive Particle Swarm Optimization,APSO)的博客,希望可以帮助您。提示:以下是本篇文章正文内容,下面案例可供参考在上面的代码中,表示粒子的数量,表示解空间的维度,表示迭代次数,表示优化的目标函数。在__init__方法中,我们初始化了粒子群的位置和速度,并将每个粒子的位置作为其最优解,将其适应度值初始化为正无穷。我们还初始化了学习因子和惯性权重的参数。在run方法中,我们迭代了次,计算每个粒子的适应度值和最优解。

weixin_52026057的博客 9916

Java学习笔记 (六) Java常用命令 javap java class文件分解器

什么是javap,以及javap的用处 javap是java class文件分解器,可以反编译java class文件。 javap命令格式 javap <options> <classes> 首先,写个java类。。。。。如下图: public class HelloWorld{ static int i=1; ...

叶自飘零水自流的的博客 1635

vue3接入大华摄像头

┃ ┃ ┣ 📜PlaybackModal.vue 回放列表模态框。┃ ┃ ┗ 📜VideoGrid.vue 视频播放区域。┃ ┃ ┣ 📜ControlPanel.vue 控制面板。┃ ┃ ┣ 📜DeviceList.vue 设备列表。┃ ┣ 📂module //大华摄像头文件。

💻 专注 Vue 前端与 Java 后端技术 🌱 目前正在深入 Spring Boot、微服务与性能优化 📝 定期分享实战踩坑经验与学习笔记 🤝 欢迎交流,共同进步 915

如何在离线的电脑上部署一个本地Deepseek(使用ollama)

例如,如果您的显卡显存为 16GB,官方推荐使用 32b 大小的 DeepSeek 模型。请根据您的硬件配置选择适合的模型版本,以获得最佳性能。首先我们需要将ollama和chatbox的安装包,Deepseek模型文件通过U盘或者光盘的形式导入到这台不能联网的电脑上。按照时间排序,找到最大的那个文件,就是gguf格式的模型,复制出来,改名为qwen2.5-coder0.5b.gguf。:基于开源模型(如 QWEN 和 LLAMA)微调,参数量从 1.5B 到 70B 不等,适合本地硬件部署。

qq_41854911的博客 1万+

话说javap命令(转载)

javap定义 javap是 Java class文件分解器,可以反编译(即对javac编译的文件进行反编译),也可以查看java编译器生成的字节码。用于分解class文件。 实例类 class synchronizedTest { private static int i = 100; public static void main(String[] args) { test2(); ...

一只打杂的码农 847

从零到一:PrimeTime静态时序分析入门指南

本文详细介绍了PrimeTime静态时序分析(STA)的入门指南,从基础概念到实际应用全面覆盖。内容包括时序路径分类、PrimeTime环境搭建、时序约束设置与验证、时序分析与报告解读等核心内容,帮助工程师快速掌握STA技术,解决数字芯片设计中的时序收敛问题。

weixin_28730131的博客 268

javap 指令

javap是 Java class文件分解器,可以反编译,也可以查看java编译器生成的字节码等。 javap 命令参数 javap -help 用法: javap <options> <classes> 其中, 可能的选项包括: -help --help -? 输出此用法消息 -version 版本信息 ...

ConstXiong 7553

BART non-Cartesian 重建:并行成像 压缩感知

本文主要使用并行成像和压缩感知方法实现non-Cartesian MRI 数据的重建。

张哥频道:电生理信号和磁共振成像 1182

三相五柱式消弧线圈自动测控装置设计与实现

本文设计了一种基于STM32的三相五柱式消弧线圈自动测控装置。该装置采用信号注入法检测系统对地电容电流,通过PID自适应算法调节消弧线圈电感值,实现单相接地故障时的快速补偿。硬件系统包含信号采集、注入、控制执行等模块,软件采用Goertzel算法提取特征频率信号,结合增量式PID实现精确控制。实验结果表明,装置电容检测误差小于2%,调谐响应时间小于50ms,满足配电网对消弧线圈自动调谐的技术要求。

AI的内部世界的博客 239

java字节码反编译_javap 反编译 java 字节码文件

概述:javap是 Java class文件分解器,可以反编译,也可以查看java编译器生成的字节码,从而对代码内部的执行逻辑进行分析。语法:把java文件编译为class文件:javacTest.java(Test.java为java文件名) 生成对应的 .class 文件 Test.class执行javap操作:javap 命令行 class文件名称(不加 .class后缀)例如: j...

weixin_39622655的博客 341

camera QXXX架构

This article introduces the QCX camera architecture for Qualcomm’s latest automotive chips including SA8650. It elaborates the layered camera stack under QNX, HGY and HQX systems, covering client applications, stream manager, CamX components and hardware d

qq_39257814的博客 4544

javap 命令详解

javap是jdk自带的一个工具,可以反编译,也可以查看java编译器生成的字节码,是分析代码的一个好工具。 javap - Java class文件分解器 分解class文件 摘要: javap [ opt...

choukuad381324的博客 1116

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

反编译 Javap -v class文件名

javap是 Java class文件分解器,可以反编译(即对javac编译的文件进行反编译),也可以查看java编译器生成的字节码。用于分解class文件。 语法:javap [option] 文件名 常用反编译 Javap -v class文件名 例:Javap -v Test option:-c 与 -v的区别 1、-c信息较为简单,一般来说反编译使用-c选项就已经足够了 2、-v信息...

qq_41956016的博客 557

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

javap 反编译Java class字节码

javap是Java class文件分解器,可以反编译,也可以查看java编译器生成的字节码。用于分解class文件。         javap.exe位于C:\Program Files\Java\jdk1.8.0_91\bin。由于在环境变量 -> Path 中设置了%JAVA_HOME%\bin的路径,因此可以直接使用javap命令来调用javap.exe反编译class字节码文件。

司马懿的西山居 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

javap反编译java字节码文件

概述:          javap是 Java class文件分解器,可以反编译,也可以查看java编译器生成的字节码,从而对代码内部的执行逻辑进行分析。 语法:         把java文件编译为class文件:javac  Test.java  (Test.java为java文件名) 生成对应的 .class 文件 Test.class         执行javap操作:ja

贵宝的博客 9097

说说javap命令

javap定义 javap是 Java class文件分解器,可以反编译(即对javac编译的文件进行反编译),也可以查看java编译器生成的字节码。用于分解class文件。 测试类 public class JavapTest { private static final int _P_1 = 1; public static final int _P_2 = 2; public static...

Jason的学习笔记 746

Idea 添加JDK自带的反编译工具javap

什么是javap? javap是 Java class文件分解器,可以反编译(即对javac编译的文件进行反编译),也可以查看java编译器生成的字节码。用于分解class文件。 那我们已经怎么在Idea中使用javap? 1),File -> settings 2),如下进行配置 接下来对配置进行说明 Name 与 Description 是设置这个工具的名...

NULL 2724

Eclipase中配置javap命令

Eclipase中配置javap命令 javap是 Java class文件分解器,可以反编译,也可以查看java编译器生成的字节码。用于分解class文件。本次主要分享如何在eclipse中配置 javap 点击菜单条Run ---> External tools ---> External tools Configurations... 点击右键点击Program选择new 主要有四个地方需要填写 ...

tomearnest的博客 705
上一篇: 带checkBox的ListView
下一篇: 集合迭代时对集合进行修改抛ConcurrentModificationException原因的深究以及解决方案
izard999
博客等级 码龄18年 375粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值