反编译class(反编译class文件)
1、我们在日常学习中,对一个代码有问题,不知道内部怎么进行解析的时候;有个伟大壮举就是反编译,这样就可以看到内部怎么进行对这个文件解析的。我们可以使用自带的命令来进行反编译,反编译出来的如果看不太明白,可以使用工具来配合使用。还有就是把包完全反编译为我们写的代码的是,有兴趣可以去官网看一下哈,小编这里不做进一步说明。我们今天以,这条语句在底层是怎么创建的来深入理解底层,同时也对反编译有进一步的了解哈。
2、话不多说,跟着小编一起学习吧。上面代码可是创建了5个对象哈,我们一步步的说哈。
3、首先,会先判断字符串常量池中是否存在“学”字符串对象,如果不存在则在字符串常量池中创建一个对象。当执行到关键字在堆中创建一个“学”字符串对象。
4、后面的(“”)。然后,当右边完成时,会在堆中创建一个“学”字符串对象。并把栈中的变量“6”指向堆中的对象。总结:一句代码创建了,但是有两个在堆中是没有引用的,按照垃圾回收的可达性分析,他们是这俩垃圾。
5、小编刚刚开始也是有疑问,为什么是五个呢。下面我们进一步探究。不知道有什么命令的小伙伴,直接输入打开的窗口输入即可看到一下内容。==心得==:常用的就是。
反编译class(反编译class文件)
1、在的类中按快捷键编译成文件,为反编译做准备;来到此目录下,不用切换到这个目录了哈。
2、输入,有反编译后的可见,创建了5个对象。解压到指定目录。==为什么还要配置环境变量这样在任何地方我们都可以使用命令来进行反编译,也是为了方便哈。:大家都知道配置路径,这里小编就不带大家一步步找到配置地方了,直接进行添加环境变量。
3、不知道有什么命令的小伙伴,直接输入打开的窗口输入即可看到一下内容。小编这里就翻译了哈,常用的就是。
4、-:无需确认直接覆盖输出。-:直接反编译代码到输出到命令下,直接在界面显示,
5、输入:,会在文件所在同一级命令生成文件,看的也比较清晰,我们使用工具打开:。输入:,也是五个对象更加简单版的,不需要向上面一样要打开文件才可以看。