浅析Class文件反编译后的文件与源码文件大小关系

1、  编辑java文件后(有注释的情况下

  

浅析Class文件反编译后的文件与源码文件大小关系

浅析Class文件反编译后的文件与源码文件大小关系

使用eclipse编译后成为.class文件后

浅析Class文件反编译后的文件与源码文件大小关系


2、 使用反编译工具编译后使用自带(Ctrl+S)的保存源码方式保存

    

浅析Class文件反编译后的文件与源码文件大小关系

浅析Class文件反编译后的文件与源码文件大小关系

3、 仅复制java翻译后的信息

浅析Class文件反编译后的文件与源码文件大小关系

浅析Class文件反编译后的文件与源码文件大小关系

其大小目前为149字节。

    后续处理

a.      现在删除掉【第一步】源码文件中无关注释行,其大小变为118字节,但是其功能仍能实现。

b.      现在将【第二步】中反编译工具保存的源码删除了无关部分,再看其大小。发现只有通过删除无关代码和空行后,才能使得其大小与第三步得到为java文件大小一致。

c.      空格和字符数不一致都会导致两个文件大小出现差异。

 结论

Class文件反编译后得到的JAVA源码的行数和源码会有部分的变动,并且反编译后得到的java文件的注释行是没有的。这些都会导致反编译得到的文件的大小会与源码包有差异。只有在两个文件的空格和字符数都一致时,两个文件的才会表现出大小一致。



本文转自 ping9527 51CTO博客,原文链接:http://blog.51cto.com/babyhanggege/1899257,如需转载请自行联系原作者

上一篇:MySql取得日期(前一天、某一天)


下一篇:JAVA Appliation下取得资源文件的路径