Java 反射更新 .class 文件

标签 java reflection

我刚刚了解了 Java 反射功能并使用它成功地执行了以下操作:

  1. 访问类的公共(public)成员函数

  2. 设置类的公共(public)成员函数

我的问题是,当我进行设置时,我的 .class 文件是否会更新(我没有看到新设置值会发生这种情况)?

我明白了Java Reflection Tutorial ,但我不确定我的问题的答案。如果不应更新 .class 文件,那么我们如何重置 .class 文件以包含动态数据,以便程序可以继续使用新的值集,而不是在确定的旧值集编译时间?或者这是不可能的?

最佳答案

.class 是已编译的代码(.java 的转换),这是 jvm 的只读文件。

jvm 读取 .class 的代码,然后代码位于 jvm 内存中。所有反射方法都会修改内存中代码,并且永远不会将其写回.class

关于Java 反射更新 .class 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26176373/

相关文章:

java - 使用 Java 计算文本文件中的数字

java - 结合 MethodHandles.publicLookup() 与 Method.setAccessible(true)

c# - 我应该使用反射 (C#) 组合接口(interface)实现吗?

.net - 生成 .NET 后台工作程序

java 。如何允许用户使用字符串输入跳过提示的数字要求?

java - 无法通过 UI 从 AsyncTask 发回数据

java - Java 多态数据结构

java - Spring Data - 自定义查询 : count and list

c# - 查找所有 Func 委托(delegate)

java - 通过反射获取固定泛型参数的父方法