У меня есть иерархия классов java следующим образом.Частично десериализация сложного Java-объекта
public class Results{
private String _query;
private CachedRowSetImpl _resultSet;
//... getter setters
}
Я сериализованная List<Results> resultList
, рассмотрит этот список содержит 100 наименований и каждый _resultSet, имеющий более чем 1000 записей. У меня есть 2 вопроса,
- Когда мы десериализуем этот объект, моя память приложения будет содержать весь объект и будет ли он создавать проблему с размером кучи?
- Если это создаст проблему с ресурсами, когда я десериализую, могу ли я игнорировать
_resultSet
, являясь десериализованным значением, достаточно просто запроса?
Исправьте меня, если мое понимание ошибочно.
Вы можете реализовать 'Externalizable' и использовать его' 'readExternal' и writeExternal' соответственно –
Если вы можете игнорировать' _resultSet' в то время как десериализация, зачем сериализовать его? Просто сделайте это «переходным». –
Это зависит от вашего требования, что вы должны игнорировать '_resultSet' или нет. если вам нужно игнорировать, то, как было предложено @SashiKant, вы можете использовать 'Externalizable' для своего собственного метода« сериализации »и« десериализации ». или просто вы можете сделать эту переменную ** переходной **. – Prashant