This document provides an overview of Remote Method Invocation (RMI) in Java. RMI allows programs to call methods on remote Java objects living in another Java Virtual Machine. It describes the key components of RMI including remote interfaces, remote objects, stubs, skeletons and the RMI architecture. It also provides a short example of an RMI application that calculates the sum of two integers by invoking a remote method from the client to the server.