Сохранение и загрузка состояния программы (Java)
-
29-09-2019 - |
Вопрос
Предположим, у вас мало времени, и вы ищете программу с определенными функциями, и вы нашли ее, за исключением того, что ей не хватает одной функции - она не может сохранять и загружать свое состояние.Возможно ли достичь этого на уровне операционной системы или с помощью другой программы, которая может взять все это целиком, записать в файл, а затем позже загрузить обратно в память?Каким образом?
Конкретно для меня речь идет о программе Java, но любая дополнительная информация по этой теме приветствуется.
Решение
Одним из (тяжелых и простых) решений могло бы быть использование VirtualPC и установка программы на виртуальную ОС.
Другие советы
Проверьте эти библиотеки:-
Вы хотите сделать что-то вроде функции гибернации в Windows, верно?
Это будет чрезвычайно сложно реализовать на Java, так как вам также придется записать состояние JavaVM.Если у вас были открытые файлы, когда вы закрывали программу, завершите и так далее.
Я думаю, лучшее, что вы можете сделать, это записать объекты, которые вам нужно восстановить, на диск с помощью Java-сериализации.
Ознакомьтесь с проектом CRIU по адресу https://criu.org/Main_Page
Он предлагает именно такую возможность в системах Linux.Docker интегрирует его и предлагает команду docker checkpoint, которая, если вы запустите свою программу в контейнере, позволит вам сделать это в любой операционной системе.