Я пытаюсь выяснить, существует ли «простой» способ постоянного хранения большого экземпляра объекта в JVM-памяти для совместного использования и повторного использования для нескольких запусков другими программами. Я работаю над netbeans с использованием java 8. Данные составляют около ~ 500 МБ сериализованных объектов. Они легко вписываются в ОЗУ, но требуют нескольких минут для дезацинализации с диска каждый раз.Java - Кэширование экземпляра большого объекта для нескольких запусков, возможно, в NetBeans
В настоящее время программа загружает сериализованный объект с локального диска в память для каждого запуска. Поскольку данные считываются только во время теста, было бы оптимально удержать его в памяти и получить к нему доступ непосредственно при каждом прогоне.
Мы изучили RMI, но накладные расходы, процесс сортировки и передача убьют производительность. Мне было интересно, есть ли более прямой способ доступа к данным из программы, запущенной на одной JVM, например, для обмена памятью.
Многократные прогоны предназначены для тестирования различных параметров обработки/параметров на одних и тех же входных данных.
Я открыт для предложения о наилучшей практике для достижения этой «предварительной загрузки», любые подсказки будут очень оценены.
Благодаря
«было бы оптимально держать его в памяти и доступ к нему непосредственно на каждом прогоне», это то, что сервер приложений делает – AntJavaDev
с помощью теста , Я предполагаю, что мы говорим об модульных тестах? –
По испытанию я имел в виду запущенную программу, которая сначала загружает данные, затем работает с ней с разными параметрами и создает выходные отчеты. Не Unit Tests, извините за путаницу! – arco2ch