Я хотел бы создать подпроцессную виртуальную машину Java (через вызов API Java) и связаться с ней.
Может быть, я просто не ищу нужную вещь в Google, но я все время возвращаюсь к Runtime.exec (), а это не то, что мне нужно. Я знаю, что могу подключить стандартный ввод / вывод и использовать различные методы сериализации или использовать удаленный вызов методов, но они кажутся громоздкими / тяжелыми. Кажется, что вызов API может быть более надежным, чем попытка вызова Runtime.exec ("/ usr / bin / java -cp [system.getclasspath] ...").
Цель / мотивация этого состоит в том, что динамическая перезагрузка классов со многими зависимостями кажется несколько хитрой (несколько сайтов упоминают о чтении файла .class и передаче его в [ClassLoader] .defineClass, но это не обрабатывает загрузку файлов зависимых классов). Что ж). Если мне не нужна большая пропускная способность или низкая задержка, я думаю, что новый экземпляр JVM будет работать нормально; это то, что общение с ним кажется громоздким. В любом случае этот вопрос не является приоритетным; Я, вероятно, пойду прямым путем и посмотрю, как я могу загрузить файлы зависимых классов (например, файлы для внутренних классов).