Почему его необходимое для маркировки класса как сериализуемый?

Попробуйте позвонить window.open с полным доменом протокола.

window.open('google.com', '_blank') // => Go to brandnames.net/google.com

window.open('https://google.com', '_blank') // => Go to https://google.com
8
задан akjain 18 May 2009 в 14:42
поделиться

4 ответа

Хороший вопрос. Serializable известен как интерфейс маркера , и его можно рассматривать как тег в классе, чтобы идентифицировать его как имеющий возможности или поведение. например, вы можете использовать это для идентификации классов, которые вы хотите сериализовать, для которых не определен serialVersionUid (и это может быть ошибкой).

Обратите внимание, что обычно используемая библиотека сериализации XStream (и другие) не требует Serializable для быть определенным.

5
ответ дан 5 December 2019 в 19:02
поделиться

It is needed so that the JVM can know whether or not a class can be safely serialized. Some things (database connections for example) contain state or connections to external resources that cannot really be serialized.

Also, you'll want to make sure that you put a serialVersionUID member in every serializable class to ensure that serialized objects can be de-serialized after a code change or recompile:

// Set to some arbitrary number.  
// Change if the definition/structure of the class changes.
private static final long serialVersionUID = 1;
2
ответ дан 5 December 2019 в 19:02
поделиться

Причина в том, что не все классы могут быть сериализованы. Примеры:

  • Ввод-вывод: InputStream, HTTP-соединения, каналы. Они зависят от объектов, созданных за пределами виртуальной машины Java, и нет простого способа их восстановить.

  • Ресурсы ОС, такие как окна, изображения и т. Д.

0
ответ дан 5 December 2019 в 19:02
поделиться

Сериализация позволяет сохранять объекты непосредственно в двоичные файлы без необходимости преобразовывать их в текст, записывать строку, а затем создавать новый объект и анализировать входные строки при обратном чтении. Основная цель - позволить вам сохранять объекты со всеми их данными в двоичный файл. Я обнаружил, что это чрезвычайно полезно при работе со связанными списками, содержащими множество объектов одного типа, и мне нужно было их сохранить и открыть.

2
ответ дан 5 December 2019 в 19:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: