使用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 ...
随机推荐
- 洛谷 P1823 音乐会的等待
题目描述 N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任意两个人A和B,如果他们是相邻或他们之间没有人比A或B高,那么他们是可以互相看得见的. ...
- java中的Map
Java8增强的Map集合 Map接口中定义了如下常用的方法. void clear():删除该Map对象中的所有key-value对. boolean containsKey(Object key) ...
- 【Git使用】sourcetree跳过注册的方法(转)
当前只有Win的版本,Mac自行百度(笑) 很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作. 然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者操作 ...
- VIM常用的基本操作
:wq 退出并保存 :q! 退出不保存 :set number 设置行号 查找: 按‘/’,然后输入要查找的字符,Enter.?和/的区别是,一个向前(下)找,一个向后(上).另外,‘*’可以 ...
- ElasticSearch 2 (1) - Getting Start
ElasticSearch 2.1.1 (1) - Getting Start Install & Up cd elasticsearch-2.1.1/bin ./elasticsearch ...
- An error was encountered while running(Domain=LaunchSerivcesError, Code=0)
今天突然遇到这样一个错误,编译可以通过,但是运行就会弹出这个错误提示: An error was encountered while running(Domain=LaunchSerivcesErro ...
- 重识linux-ntp时间服务器搭建
1 安装 yum install ntp 2 启动 service ntpd start 3 配置文件 /etc/ntp.conf 4 查看是否有报错 tail /var/log/message 5 ...
- 8.纯 CSS 创作一个充电 loader 特效
原文地址:https://segmentfault.com/a/1190000014669547 右边多出来的是 :after 的border HTML代码: <div class=" ...
- 《算法导论》——MaximumSubArray
今天我们讨论的算法是最大子数组问题. 首先我定义了一个类用来保存最大子数组的开始位置索引.结束位置索引和该数组的和.代码如下: class MaximumSubArray { private: int ...
- Hive 优化汇总
参考: http://www.cnblogs.com/yshb/p/3147710.html http://www.cnblogs.com/sandbank/p/6408762.html 一 jo ...