Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Всем привет. История такова. Есть приложение на JAVA которое загружается от 5 до 30 минут в зависимости от машины пользователя. Возникла идея сохранить дамп памяти и потом его загружать с диска. Если с сохранением в ручную можно использовать банальный диспетчер задач, то вот как его туда обратно загрузить ума не приложу. Вообщем если кто сталкивался с подобными технологиями просьба пнуть в нужном направлении.
При чем тут Neobook? Перемещено. По сабжу, сомневаюсь что с Java эти фокусы пройдут, ибо Java это своя виртуальная машина, код работает в ней и взаимодействует с системой через нее. Собственно поэтому он такой тормозной. Что там внутри происходит системе неизвестно. Поэтому просто взять и засунуть данные (код) в системную память можно, но вот заставить его (правильно) работать (в отличие от Windows кода который можно) не думаю что выйдет. Как задавать вопросы
По сабжу, сомневаюсь что с Java эти фокусы пройдут
Ну нет так нет.
Собственно почему мне это взбрело в голову? Вспомнил я, что есть такая штука как снапшот в виртуальных машинах таких как VMware например. Загрузка снапшота происходит в разы быстрее. Сопоставив слово "виртуальная машина" Она зараза ведь и в африке виртуальная. я подумал, что существуют такие хитрости и в JAVA. Потратив пару часов на поиск ни черта внятного не нашел. Вот и решил к знатокам обратиться. Без особой надежды, но чем черт не шутит?
Есть такая функция, да. Но мне кажется она должна быть реализована самой виртуальной машиной, которая знает как и что делать, в отличие от системы. Если в JAVA что-то такое есть (я не в курсе) в готовом виде, то... если нет, то может кто-то уже реализовал как "компонент" (класс или что там в java, не знаю как назвать, кирпич короче), погугли... (я погуглил немного ради интереса, но даже упоминаний о таких извратах не нашел) Как задавать вопросы
Ну вот, и здесь меня извращенцом назвали Я за что не возьмусь все через ж%@у делаю Может мне в церковь сходить? Лана, пускай юзеры мучаются.
Добавлено (26 Ноября 2014, 13:43) --------------------------------------------- Немного подумав Это что ж получается, если в винде такой фокус прокатывает значит так проги можно активированные распространять? ужас какой, наверно я чего то не понимаю как всегда
скорее теоретически как-то... потому что, как бы сказать... тут еще такой момент, что данные в памяти они управляются инструкциями работающими с адресами памяти... переменные, ссылки на функции и т.п. барахло кода, это все "превращается" в адреса памяти. если говоря твоими терминами слить дамп а потом попытаться его залить назад и запустить, то скорее всего все вывалится с ошибкой на первой же инструкции кода, потому что вряд ли реальное расположение всех данных в адресах памяти снова совпадет как и было в точности до слива. А уж распространять такой "дамп" с надеждой что он заработает на других машинах, системах (которые бывают разные, 32 и 64 бит адресацией памяти например) и вовсе наивно. Говоря о выполнении кода в памяти, я подразумевал симуляцию запуска ехе файла, а когда ты почитаешь про структуру exe, заголовки, загрузчики... поймешь что там еще суетиться и суетиться прежде чем чтото запустить реально (в основном как раз распределяя, записывая код и вычисляя адреса данных в памяти). Ну обьяснил как смог... Как задавать вопросы
Все это в принципе понятно."слить дамп" как пример того, чего требуется. Возможно существуют какие нибудь оболочки в которых нужно запускать программу, чтоб потом её заморозить и скопировать. Ну и запускать естественно тоже из под той же оболочки.
ЦитатаDEMBEL ()
с надеждой что он заработает на других машинах
А вот это совсем не требуется. Я хотел на НБ заскриптовать сам процесс снятия и запуска снапшота. Юзер сам решает по какому пути ему идти, ждать 30 мин. загрузки или слить снапшот со своей машины. У меня эта тема в голове не дает решать другие задачи зациклился.