首页 > 代码库 > 浅析Class文件反编译后的文件与源码文件大小关系

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

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

  

技术分享

技术分享

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

技术分享


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

    

技术分享

技术分享

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

技术分享

技术分享

其大小目前为149字节。

    后续处理

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

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

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

 结论

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



本人上网没有搜索到相关的内容,以上为自己做实验得到的一些结果,如果大家觉得有不妥之处,请多多赐教。

本文出自 “小小知识库” 博客,谢绝转载!

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