java - 在 Java 应用程序运行时定义类

标签 java on-the-fly runtime-compilation

在 Java 中,是否可以在应用程序运行时动态创建类定义,然后创建该类的对象?

例如,正在运行的应用程序会读入一个文本文件,其中包含要包含在新类中的类成员列表。然后,应用程序将根据成员列表定义一个类定义,然后实例化它。

最佳答案

是的,理论上可以这样做,您的类文件是字节码,最后是字节数组!然后,您可以使用方法 defineClass(String, byte[], int, int) 获取可用于通过反射实例化对象的 Class 实例。

在实践中你可以使用像CGLib这样的东西或 javaassist .

您还可以使用在文件中生成 java 代码、调用编译器然后加载文件的长方法。

关于java - 在 Java 应用程序运行时定义类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/781805/

相关文章:

java - 文件阅读器只读取文件的偶数行

javascript - 如何在后台加载新的material.map.image.src然后渲染

c - 如何在C中解析 "expected ' ;' before ' {' token"?

java - 为什么非捕获组会改变正则表达式的行为?

java - 如何使用 GridLayout 使 JScrollPane 上的 JPanel 仅填充宽度而不填充高度?

c# - 运算符和泛型类

C# 运行时编译错误 : Type 'Double' and 'Math' could not be found/does not exist in current context

c - 求 x 的 n 次方

java - hadoop、 Jersey 和 JBoss : application won't start