如何在没有类路径上的实现类的情况下反序列化“序列化”实例?

我正在写一个工具,需要从字节数组中获取java.io.Serializable的实例。
困难在于“真正的”类不是(也不能是......)在类路径上(我不会解释为什么在这里..)。下面
的代码失败的is.readObject()ClassNotFoundException因为实现类是不是在classpath
问:
是有可能做到这一点?通过反思?通过使用Unsafe?通过使用子类ClassLoader?要么...?如何在没有类路径上的实现类的情况下反序列化“序列化”实例?

byte[] data = ... 

try (ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(data));) {

Object o = ois.readObject();

Serializable s = (Serializable)o;

}

回答:

在IIS可能实现这一目标?

由反射号?

使用不安全

号?

通过使用子类类加载器的?

是的,但类加载器仍然必须从某个地方得到类。 RMI代码库功能就是一个很好的例子。

以上是 如何在没有类路径上的实现类的情况下反序列化“序列化”实例? 的全部内容, 来源链接: utcz.com/qa/262396.html

回到顶部