java - 部分反序列化一个复杂的java对象

标签 java serialization

我有一个 java 类层次结构,如下所示。

public class Results{
    private String _query;
    private CachedRowSetImpl _resultSet;
    //... getter setters
}

我已经连载了List<Results> resultList ,考虑这个 List 包含 100 个项目,每个 _resultSet 有超过 1000 条记录。我有 2 个问题,

  1. 当我们反序列化这个对象时,我的应用程序内存将容纳整个对象,它会产生堆大小问题吗?
  2. 如果它会造成资源问题,当我反序列化时,我可以忽略 _resultSet 吗?被反序列化意味着仅查询就足够了吗?

如果我的理解有误,请纠正我。

最佳答案

如果你实现了 Externalizable,你的 readExternal 看起来有点像:

     public void readExternal(ObjectInput in) throws IOException,  
         ClassNotFoundException {  
             _query=(String) in.readObject();  
            if(//yourCondition){
             _resultSet=(CachedRowSetImpl) in.readObject();  
            }
         }

关于java - 部分反序列化一个复杂的java对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29691984/

相关文章:

java - 在 jBPM 中检索分配给组的 Humar 任务列表

java - URL 不存在时出现 SAXParseException

java - 链表移除

serialization - Java & EJB3 : How to correctly pass @Entity objects from Client to Server?

java - 我对 Java 中的多态性有疑问

c# - 将 Newtonsoft.Json 与嵌套自定义类一起使用

c# - 反序列化包含字典的对象列表

Json 日期被序列化为错误的格式

java - 用作锁的 transient 最终字段为空

Java - 每个枚举值的真/假