RMI is a pass by value... When both client and remote object are in the same JVM, local copies can be disabled allowing the object being called to get a reference to the calling arguments. In other words we can get a reference to the calling arguments instead of using "pass by value" and creating a copy/proxy a. Can u explain above statement b) when can client and remote object can be in the same JVM? So far i was thinking client object resides in client machine..which is different JVM and remote object residing in app server jvm.