Не имея опыта работы с Java RMI, у меня есть наивный вопрос, но я все еще не уверен в ответе после поиска в Интернете.Где код, выполняемый при использовании Java RMI?
Вопрос:
Для меня есть два сценария:
Сценарий-1: Запуск программы Java с локального, во время ее выполнения, он вызывает метод из класса хранится на удаленный компьютер, тогда класс этого метода будет загружен на локальный компьютер и возобновится выполнение.
Сценарий-2: Запустите Java-программу из локальной системы, во время ее выполнения она вызывает метод из класса, хранящегося на удаленной машине, затем этот метод будет выполнен на удаленном компьютере, и результаты будут отправляется обратно на локальный компьютер. (Для этого требуется передача класса/объекта?)
Какой из них использует Java RMI? или нет?
От Wikipedia of RPC: «RPC позволяет компьютерной программе вызвать подпрограмму или процедуру для выполнения в другом адресном пространстве (обычно на другом компьютере в общей сети)», похоже, это второй сценарий.
Но в соответствии с этой статьей Reducing Data Transfer during Remote Classloading in Java RMI, похоже, это первый сценарий.
Какая часть связанной бумаги заставляет вас думать, что это сценарий №2? –
@StephenCST связанная бумага заставляет меня думать, что это сценарий №1, поскольку он упоминает удаленный класс загрузки (для меня, загрузка удаленного класса на локальный). – JackWM
Удаленная загрузка классов не означает этого. Это означает загрузку классов (кода) из местоположения, удаленного по отношению к месту, где будет запущен код. Код перемещается к целевому объекту RMI ... не наоборот. –