This document provides an overview of Java RMI (Remote Method Invocation), which allows objects to invoke methods on remote Java objects located elsewhere on a network. Key points: - RMI allows one JVM to communicate with another and invoke methods remotely as if they were local. - Remote interfaces define the methods that can be invoked remotely. The interface is shared between client and server code. - When a remote method is invoked, a stub on the client side packages the parameters and sends them to the server, where the method is executed and results returned. - Typical RMI applications have a server that creates remote objects and a client that looks them up and invokes their methods remotely.