我刚刚了解了 Java 反射功能并使用它成功地执行了以下操作:
访问类的公共(public)成员函数
设置类的公共(public)成员函数
我的问题是,当我进行设置时,我的 .class 文件是否会更新(我没有看到新设置值会发生这种情况)?
我明白了Java Reflection Tutorial ,但我不确定我的问题的答案。如果不应更新 .class 文件,那么我们如何重置
.class 文件以包含动态数据,以便程序可以继续使用新的值集,而不是在确定的旧值集编译时间?或者这是不可能的?
最佳答案
.class
是已编译的代码(.java
的转换),这是 jvm
的只读文件。
jvm
读取 .class
的代码,然后代码位于 jvm
内存中。所有反射方法都会修改内存中
代码,并且永远不会将其写回.class
。
关于Java 反射更新 .class 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26176373/