| Характеристика | Локальный объект | Удаленный объект |
| Определение объекта | Класс Java | Интерфейс |
| Реализация объекта | Класс Java | Класс Java, который реализует удаленный интерфейс |
| Создание объекта | Локальный вызов new | На хосте (new) |
| Доступ | Переменная-ссылка | Переменная-ссылка, указывающая на реализацию стаба, замещающего удаленный интерфейс |
| Ссылки на объект | Указывает на его расположение в памяти | Указатель на стаб в локальной памяти |
| Активная ссылка | Пока есть хотя бы 1 ссылка на объект (в одной JVM) | Если к объекту производился доступ в течении определенного времени |
| Финализация объектов | Перед утилизацией сборщиком мусора | При удалении всех удаленных ссылок |
| Сборка мусора | При удалении всех локальных ссылок | При удалении всех удаленных ссылок и нет локальных |
Архитектура RMI основана на разделении определения и реализации поведения.
Архитектура RMI включает несколько уровней.
| Удаленные ссылки (скелеты) |
| Удаленные ссылки (скелеты) |
Уровень заглушек (скелет) перехватывает вызовы методов при помощи переменной ссылки на интерфейс и переадресует их в удаленную службу RMI.
Уровень удаленных ссылок интерпретирует и управляет ссылками на удаленные объекты служб.
Транспортный уровень: все соединения, даже между JVM (Java Virtual Machine), на одном компьютере сочетаются через стек TCP/IP.
На вершине стека используется протокол JRMP (Java Remote Method Protocol). Модификация – RMI –IIOP.
Для именования объектов используется служба имен реестра RMI. На хосте программа сервера создает удаленную службу и локальный объект, ее реализующий. Этот объект экспортируется в RMI и сервер регистрирует объект в реестре, используя общедоступное имя. RMI создает службу прослушивания, ожидающую запросы от клиента.