(Пожалуйста, поправьте меня, если я ошибаюсь)Что запускает поток JVM?
Я понимаю, что при запуске программы Java с помощью команды Java,
java MyProg
программа будет работать на новой виртуальной машины Java.
Что загружает программу в новую JVM? это JRE, которая порождает новый поток?
Если каждая программа работает в своей собственной JVM, возможно ли, чтобы они могли общаться друг с другом?
Ранее я задал вопрос о том, как использовать JMX для отправки запросов к программе java, выполняемой локально. Я узнал, что если команды JMX выдаются локально, мне не нужен номер порта. Ответ заключался в том, что клиентское приложение (например, jconsole, jvisualvm, jprobe и т. Д.) Ищет java-приложения, запущенные на машине. Это прекрасно, но при условии, что клиентское приложение будет работать в другой JVM из приложения, которое оно хочет контролировать или говорить, как именно они взаимодействуют друг с другом без номера порта (поскольку они не работают на одном JVM)?
Если две программы запущены, то обычно будет 2 JVM. Работают ли JVM в одном и том же процессе JRE? А также не означает ли это, что две JVM должны иметь возможность общаться?
Благодаря
... должен быть стандартный порт или какой-либо другой механизм IPC для конкретной конкретной страны (например, именованные каналы или shmem в Unix). – ShiDoiSi