Я реализую какой-то адресной книжки и хочу сохранить все контакты в какой-то БД, реализованные мною как одноэлементный HashMap<String, Contact> contactsDB
. Можно ли сериализовать такой объект?Как сериализовать одноэлементный объект?
ответ
вот некоторые вещи
// assume that the signleton is actually implemented correctly.
public class IHateSingletons
{
Map<String, Contact> contactMap;
public void storeThatStuffs(final ObjectOutputStream outputStream)
{
outputStream.writeObject(contactMap);
}
public void readThatStuffs(final ObjectInputStream inputStream)
{
contactMap = (Map<String, Contact>)inputStream.readObject();
}
Большое количество контактов (как и слишком, чтобы поместиться в память) укажет, что эта реализация (hooty singleton) является ужасным выбором. В этом случае используйте реальную базу данных. – DwB
Ознакомьтесь с API java serializable. Если ваш пользовательский класс реализует «сериализуемый», я думаю, что вы в порядке
Не сериализуйте сам синглтон, сериализуйте базовые данные, на которых действует одноэлементный код.
И что, если у меня есть более 100/1000/10000 контактов, десериализуйте их каждый в HashMap? Разве это не слишком много для процессора и памяти? – 4lex1v
Если контакт человек с контактными данными, 10000 контактов не будут использовать большой объем памяти/процессор/пространство для хранения, если вы не используете мобильное устройство с ограниченными ресурсами ... – assylias
Если каждый контакт использует 256 байтов, вы можете хранить 4 миллиона из этих в 1 ГБ. Если вы купите 16-гигабайтную машину за 1000 долларов США, она сможет хранить более 40 миллионов контактов, используя простой HashMap. Если вы хотите хранить от 50 до 5 миллиардов, у меня есть другое решение для этого.;) –
не должно быть известно, что если вы сделаете это, вы предоставляете путь обогнуть одноплодной-Несс вашего класса (код больше не нужно через GetObject метод, который гарантирует, что создается только один объект, он не может, отдельно, де-сериализовать сериализованный объект).
- 1. SqlConnection как статический одноэлементный объект
- 2. Создайте одноэлементный объект ViewController
- 3. Как создать одноэлементный объект, как услуга Angular1?
- 4. уменьшить одноэлементный объект в проекте
- 5. Как сериализовать объект JSON
- 6. Как сериализовать объект NSPredicate?
- 7. Как сериализовать объект Pipes?
- 8. Как идентифицировать одноэлементный объект в JVM?
- 9. Как сделать этот объект «обучением» как одноэлементный объект
- 10. Как обслуживать одноэлементный объект по сети в C#?
- 11. Как сериализовать объект в строку
- 12. Как сериализовать объект JBox2d World?
- 13. Как сериализовать объект типа Object?
- 14. Как сериализовать объект для JSON?
- 15. Как сериализовать объект pyspark GroupedData?
- 16. Как сериализовать объект в NSDictionary?
- 17. Как сериализовать объект типа System.Net.Mime.ContentType?
- 18. Как сериализовать пустой объект jsonapi
- 19. Как сериализовать объект в XDocument?
- 20. Как сериализовать объект, содержащий NSData?
- 21. Как сериализовать объект, содержащий изображение?
- 22. Как сериализовать объект NHibernate DetachedCriteria?
- 23. Персистент и объект, ссылающийся на одноэлементный
- 24. легко сериализовать объект JSON
- 25. Сериализовать объект в массив
- 26. Сериализовать объект, используя System.Xml.Serialization?
- 27. Можно сериализовать несериализуемый объект?
- 28. Сериализовать объект в XML
- 29. Сериализовать объект с интерфейсом
- 30. Сериализовать объект «un serializable»
@Jak: Да, документация Ruby здесь помогает. – skaffman
Удалено ... Моя ошибка ... :(oops – Jak