У меня есть класс, который может содержать много маленьких элементов в списке.Похоже:
public class Farm {
private ArrayList<Horse> mHorses;
}
просто интересно, что произойдет, если массив mHorses вырастет до чего-то безумного, как 15 000 элементов.Я предполагаю, что пытаться писать и читать это из хранилища данных было бы сумасшествием, потому что я был бы убит в процессе сериализации.
Важно, чтобы я мог получить весь массив за один снимок без подкачки,и у каждого элемента Horse могут быть только два строковых свойства, поэтому они довольно легкие:
public class Horse {
private String mId;
private String mName;
}
Мне не нужны эти лошади, проиндексированные вообще.Разумно ли просто хранить массив mHorse в виде необработанного текстового поля и заставлять моих клиентов выполнять десериализацию?Что-то вроде:
public class Farm {
private Text mHorsesSerialized;
}
тогда, когда клиент получает экземпляр Farm, он должен взять необработанную строку лошадей и разделить ее, чтобы заново составить список, что-то вроде:
// GWT client perhaps
Farm farm = rpcCall.getMyFarm();
String horsesSerialized = farm.getHorses();
String[] horseBlocks = horsesSerialized.split(",");
for (int i = 0; i < horseBlocks.length; i++) {
// .. continue deserializing the individual objects ...
}
ага ...
так что, надеюсь, будет быстро прочитать экземпляр фермы из хранилища данных, а клиент сериализации заплатит штраф,
Спасибо