Есть ли способ заставить процесс Java либо разветвляться, либо запускать другой процесс Java и использовать разделяемую память, чтобы минимизировать использование ОЗУ?
Будет много процессов, чтобы можно было безопасно убить одного, не затрагивая других. Также это позволит просто определить, какие потоки используют больше памяти или ЦП, если они находятся в отдельных процессах. Это должно позволить любому процессу иметь сбой или OutOfMemoryError, не затрагивая другие процессы.
Было бы неплохо, если бы у нас было 100-300 Java-процессов, запущенных одновременно, каждый со своей целью. Я понимаю, что нам, возможно, придется ограничить это число и потребовать, чтобы процессы выполняли несколько ролей, если мы не хотим отнимать слишком много памяти из базы данных и файловой системы.
Edit:
Я думаю, что я неправильно понял значение, когда сказал «Общая память». Я имею в виду только память, которую можно использовать среди нескольких процессов, таких как классы Java (не переменные). Все java-пакеты и библиотеки можно использовать повторно, если это возможно.