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

  

wKioL1ipXZCzCkEGAAA6QvABMNY719.png

wKioL1ipXZGRM1dEAABEApWGtKU688.png

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

wKioL1ipXeqDs0b6AABR-_Ajxbk607.png


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

    

wKioL1ipXnPTcCF3AAAxfHZSZZM220.png

wKiom1ipXnOQ2PvUAACEueGlm9w632.png

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

wKioL1ipXy2CwehcAABRhcj5wno382.png

wKioL1ipXy7QtdCQAAEODzmpu-w310.png

其大小目前为149字节。

    后续处理

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

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

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

 结论

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



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