Java remote method invocation(RMI) is one of approaches to develop distributed system,but in practice too many repeated remote method invocations may affect the performance of application.A method for RMI based on client side cache is given.A client first query in local cache whether there is the stub or result the client tries to invocate,and if they exist the client will directly use them without further remote method call through the network.The performance comparison shows that the method improves the performance of RMI by decreasing repeated invocation times and reducing network bandwidth occupied.