gpt4 book ai didi

java - ObjectInputStream 自定义类加载器反序列化问题 : resolveClass() not called

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:10:27 26 4
gpt4 key购买 nike

我有一个 ObjectInputStream 并想使用自定义 ClassLoader 加载类。

因此创建了 ObjectInputStream 的子类,它覆盖了 resolveClass() 函数。

现在我的问题是我想在执行期间更改 ClassLoader。但有时当我在这个流上执行 readObject() 时,resolveClass() 似乎没有被执行。然后该类加载了错误的 ClassLoader

知道为什么 resolveClass() 没有被执行以及如何解决这个问题吗?

最佳答案

resolveClass() 将针对流中的每个类描述符调用一次。我不知道如果您为相同的完全限定类名编写多个描述符会发生什么——可能未指定。正确的解决方案是使用多个流(可以嵌套在另一个流中)。

关于java - ObjectInputStream 自定义类加载器反序列化问题 : resolveClass() not called,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14385997/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com