当我在相应的'java'文件中仅更改符号名称(类,接口,函数或变量)时,为什么Java字节码解释器会更改'class'文件?
我在源代码管理(GIT)下维护这两种类型,并且我一直看到“两次更改文件的数量”,即使是上面提到的化妆品更改。
顺便说一下,关于源控制问题的问题是不,但仅仅是因为我将这些文件保存在GIT上的原因是为了能够“清理”(删除所有未版本控制的)文件),然后从命令行运行该程序而不重新编译它。如果你知道如何实现这个功能(没有构建运行),那么我很乐意听到它......
由于
答案 0 :(得分:7)
因为类文件包含符号名称。
通常,人们不会将其类文件保留在源代码管理中。如果有人想要旧版本的类文件,他们会获得旧的源文件并进行编译。
答案 1 :(得分:2)
由于多种原因,JVM需要访问符号名称,包括以下内容。
因此符号名称需要存储在类路径中。