Какова цель сериализации / десериализации в Java?
Сериализация используется в тех случаях, когда вы хотите сохранить состояние объекта и преобразовать этот объект в поток байтов, объекты должны быть сериализованы. Пока вы используете приложение, все его объекты хранятся в памяти (память кучи). Когда вы выходите, эта память возвращается в операционную систему, и ваша программа по существу «забывает» все, что произошло во время ее работы. В таких ситуациях вы можете использовать сериализацию, позволяя вашему приложению сохранять объекты на диск, чтобы они могли прочитать их при следующем запуске. Если ваше приложение будет предоставлять какой-либо способ сохранения / совместного использования предыдущего состояния, вам понадобится какая-то форма сериализации.
Всякий раз, когда объект должен отправлять по сети, эти объекты должны быть сериализованы. Например, если у вас есть две машины, которые работают с одним и тем же кодом, и им необходимо обмениваться данными, простой способ заключается в том, чтобы одна машина создавала объект с информацией, которую он хотел бы передать, а затем сериализовал этот объект на другой машине , Это не лучший способ общения, но он выполняет работу с сериализацией.
Cross JVM Synchronization - Сериализация работает на разных виртуальных машинах Java JVM, которые могут работать на разных архитектурах.