java - 为什么仅更改符号名称后会得到不同的 'class' 文件?

标签 java version-control bytecode

当我仅更改相应“java”文件中的符号名称(类、接口(interface)、函数或变量)时,为什么 Java 字节码解释器会更改“类”文件?

我在源代码控制 (GIT) 下维护这两种类型,并且我不断看到“更改的文件数量增加了一倍”,即使对于诸如上述的外观更改也是如此。

顺便说一句,问题不是关于源代码控制问题,但仅供引用,我将这些文件保留在 GIT 上的原因是为了能够进行“清理”(删除所有未版本化的文件)文件),然后从命令行运行程序而无需重新编译。

如果您知道如何实现此功能(无需构建即可运行),那么我很高兴听到...

谢谢

最佳答案

因为类文件包含符号名称。

通常,人们不会将类文件保存在源代码管理中。如果有人想要旧版本的类文件,他们会获取旧的源文件并编译它。

关于java - 为什么仅更改符号名称后会得到不同的 'class' 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21537801/

相关文章:

java - 我的 Java 项目是否有任何自动指标收集器?

java.lang.VerifyError : Bad type on operand stack in method com. sun.net.httpserver.spi.HttpServerProvider 错误

java - 我使用 ASM Toolkit 替换静态方法的主体后抛出 ClassCast 异常

java - 考虑到其创建顺序,如何管理片段和 Activity ?

java - 链表和对象问题

git - 显示带有上次提交日期的 git 分支

git - 如何列出所有更改文件数的 pull 请求

version-control - 当我执行 hg pull 和 hg update 时,哪些文件将被更改和添加

方法参数的Android字节码分析

java - 如何从 Java 调用 Excel 电子表格中的 VBA 代码?