生成动态类Java

Jos*_*bel 5 java file-io dynamic-compilation dynamic-class

我在java程序中生成动态类,将所有代码写入java文件,将java文件编译为类文件,然后使用URLClassLoader加载类文件.这个问题是它在我的计算机上创建了很多文件.他们只是通过创建"虚拟文件"(文件对象)而不生成任何实际文件来实现这一点,因为我这样做的方式需要时间并且看起来不干净且效率低下.

Bra*_*don 1

如果您查看 ClassLoader 类,它有一个从实际的字节序列定义类的方法。

类加载器的 Java 文档

我承认我没有在这么低的级别上使用过类加载器,但我的理解是这是一个模板模式,其中基础 ClassLoader 类知道如何基于原始字节代码在 VM 中创建类。子类负责找出在哪里可以找到给定类的字节码。

因此,您的解决方案可能是完全停止使用 URLClassLoader 并自行扩展 ClassLoader。