使用javap进行反编译Java枚举
这是一个枚举类Day.java
public enum Day {
MONDAY("星期一"),
TUESDAY("星期二"),
WEDNESDAY("星期三"),
THURSDAY("星期四"),
FRIDAY("星期五"),
SATURDAY("星期六"),
SUNDAY("星期天");
/**
* 中文描述
*/
private String desc;
public String getDesc() {
return desc;
}
/**
* 私有构造方法,防止被外部调用
* @param desc
*/
private Day(String desc) {
this.desc = desc;
}
}
进入到这个文件目录下编译该文件:javac -encoding UTF-8 Day.java
这时候,该目录会有一个Day.class编译后的字节码文件;
再执行:javap -p Day.class
Compiled from "Day.java"
public final class Day extends java.lang.Enum<Day> {
public static final Day MONDAY;
public static final Day TUESDAY;
public static final Day WEDNESDAY;
public static final Day THURSDAY;
public static final Day FRIDAY;
public static final Day SATURDAY;
public static final Day SUNDAY;
private java.lang.String desc;
private static final Day[] $VALUES;
public static Day[] values();
public static Day valueOf(java.lang.String);
public java.lang.String getDesc();
private Day(java.lang.String);
static {};
}
可以看到,public enum Day定义一个枚举类,反编译之后看到public final class Day extends java.lang.Enum<Day>Java枚举类不能被继承;
每一个枚举都是public static final只能被赋值一次,大概就是这些,如果想看更加详细的反编译可执行:javap -c Day (这里不要写文件后缀.class);
反编译可以输出常量池的信息以及元素个数:javap -verbose Day.class
Java枚举的简单例子:https://www.cnblogs.com/theRhyme/p/9996966.html
使用javap进行反编译Java枚举的更多相关文章
- @使用javap反编译Java字节码文件
在Sun公司提供的JDK中,就已经内置了Java字节码文件反编译工具javap.exe(位于JDK安装目录的bin文件夹下). 我们可以在dos窗口中使用javap来反汇编指定的Java字节码文件.在 ...
- Android反编译(一)之反编译JAVA源码
Android反编译(一) 之反编译JAVA源码 [目录] 1.工具 2.反编译步骤 3.实例 4.装X技巧 1.工具 1).dex反编译JAR工具 dex2jar http://code.go ...
- jad 反编译java
1 安装 解压jad.zip文件到任何的目录.将会创建两个文件,一个是jad.exe另一个是readme文 件,不需要任何别安装2 如何使用jad 如果我们有一个单独的java文件example1.c ...
- 用javap命令反编译来分析字符串问题
编写Test.java.编译完后生成Test.class文件,然后对该文件运行javap -c Test命令,生成字节码指令.阅读并得出结论 一.s1和s2指向常量池的不同常量 ①java代码 pub ...
- JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad)
一.前言 我们在日常学习中,对一个java代码有问题,不知道jvm内部怎么进行解析的时候:有个伟大壮举就是反编译,这样就可以看到jvm内部怎么进行对这个java文件解析的!我们可以使用JDK自带的ja ...
- 彩贝网app破解登入参数(涉及app脱壳,反编译java层,so层动态注册,反编译so层)
一.涉及知识点 app脱壳 java层 so层动态注册 二.抓包信息 POST /user/login.html HTTP/1.1 x-app-session: 1603177116420 x-app ...
- javap命令反编译
javap命令反编译生成的是程序员可以认识的字节码文件 -help --help -? 输出此用法消息 -version 版本信息,其实是当前javap所在jdk的版本信息,不是class在哪个jdk ...
- javap 命令 反编译代码
javap 命令 javap -c classname 一个好的分析class二进制文件的 链接 http://blog.csdn.net/pwlazy/article/details/7954169
- 反编译 java
1.winrar https://www.rarlab.com/ 2.github jd-gui http://java-decompiler.github.io/ SignNatureTest.j ...
随机推荐
- Centos7基于容器安装运行Docker私有仓库及添加认证
一.前言 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理 ...
- MicroMsg.SDK.WXApiImplV10: register app failed for wechat app signature check failed
支付时: IWXAPI wxapi = WXAPIFactory.createWXAPI(this,WXAPPID,true); 替换为 IWXAPI wxapi = WXAPIFactory.cre ...
- centos7 jdk
查看已经自带的jdk: rpm -qa | grep jdk 卸载 sudo yum remove XXX 1.下载 jdk-8u101-linux-x64.rpm http://www.orac ...
- uiautomator 代码记录 :BT接收测试
package rom; import java.lang.*; import java.util.Random; import java.io.File; import com.android.ui ...
- [Unity插件]Lua行为树(十二):行为树管理
之前运行的行为树,都是一颗总树,那么实际上会有很多的总树,因此需要对行为树进行管理. BTBehaviorManager.lua BTBehaviorManager = {}; local this ...
- c#上传文件并将word pdf转化成txt存储并将内容写入数据库
c#上传文件并将word pdf转化成txt存储并将内容写入数据库 using System; using System.Data; using System.Configuration; using ...
- 重识linux-SSH中的SFTP
重识linux-SSH中的SFTP 1 SFTP也是使用SSH的通道(port 22) 2 SFTP是linux系统自带的功能 3 连接上主流的ftp软件都支持sftp协议 比如flashfxp,fi ...
- sql中有一些保留字,当你的字段名是它的保留字时,这个时候sql语句的字段不加``就会报错
sql中有一些保留字,当你的字段名是它的保留字时,这个时候sql语句的字段不加``就会报错
- 图片 base64转byte[]
/// <summary> /// 保存base64图片,返回阿里云地址 /// </summary> /// <param name="imgCode&quo ...
- leetcode329
public class Solution { bool[,] tags;//用于标记是否已经访问过,false未访问,true已访问 int[,] records;//用于标记以当前为起点的最长升序 ...