Java 序列化方法
2022-09-02 10:07:52
是否可以序列化方法?因为当我查看文档时,Method 类不会实现可序列化。那么有什么替代方案吗?
是否可以序列化方法?因为当我查看文档时,Method 类不会实现可序列化。那么有什么替代方案吗?
由于方法不实现可序列化,因此无法使用标准 Java 序列化 API 对其进行序列化。
解决方法是仅手动序列化类和方法的名称及其参数类型。然后,您可以在反序列化期间重新创建方法实例。
这取决于你的意思。真的,正如已经提到的家伙,方法不能序列化。但是,如果您希望序列化该方法实现的逻辑并(例如)通过网络发送它,这是可能的。此序列化可以通过序列化类本身来完成。实际上,.class已经是一个字节序列,可以存储在(并且通常存储)在文件中。如果需要,可以通过网络发送它,然后使用 Class.forName() 进行实例化。此外,你可以做得更好:使用HttpClassLoader,将你的类可用的HTTP URL传递给它,使用这个类加载器创建类实例并运行任何你想要的方法。