java中rmi是指一種分布式對象應用;它屬于java的遠程方法調用,類似于rpc,它能夠讓在某個Java虛擬機上的對象調用另一個 Java虛擬機中的對象上的方法。
RMI (Remote Method Invocation) 模型是一種分布式對象應用,使用 RMI 技術可以使一個 JVM 中的對象,調用另一個 JVM 中的對象方法并獲取調用結果。這里的另一個 JVM 可以在同一臺計算機也可以是遠程計算機。因此,RMI 意味著需要一個 Server端和一個 Client端。
RMI端口介紹
Server 端通常會創建一個對象,并使之可以被遠程訪問。
這個對象被稱為遠程對象。
Server 端需要注冊這個對象可以被 Client 遠程訪問。
Client 端調用可以被遠程訪問的對象上的方法,Client 端就可以和 Server 端進行通信并相互傳遞信息。
說到這里,是不是發現使用 RMI 在構建一個分布式應用時十分方便,它和 RPC 一樣可以實現分布式應用之間的互相通信,甚至和現在的微服務思想都十分類似。
RMI的優缺點
優點:能夠避免重復造輪子;
缺點:調用過程很慢,而且該過程是不可靠的,容易發生不可預料的錯誤,比如網絡錯誤等。