远程调用java方法-如何访问局部变量

远程调用java方法-如何访问局部变量,java,Java,我想创建一个rmi服务器,它也可以充当客户机,尽管这方面工作得很好——我遇到的一个问题是,对于任何特定的服务器/客户机关系,更改实例上的局部变量(目前)作为服务器(因此远程触发的方法)不会持久 所以下次我尝试访问这个变量或返回它时,原始的、未更改的变量就会出现 < C++ >(如果你有RMI:)我可以通过一个指针——但是我如何强制java改变底层值? 你如何传输远程对象?有两种机制,远程存根和序列化。因为您正在谈论访问字段,所以我假设您使用序列化(远程存根只是接口,只有方法,没有字段) 序列化的

我想创建一个rmi服务器,它也可以充当客户机,尽管这方面工作得很好——我遇到的一个问题是,对于任何特定的服务器/客户机关系,更改实例上的局部变量(目前)作为服务器(因此远程触发的方法)不会持久

所以下次我尝试访问这个变量或返回它时,原始的、未更改的变量就会出现


< C++ >(如果你有RMI:)我可以通过一个指针——但是我如何强制java改变底层值?

你如何传输远程对象?有两种机制,远程存根和序列化。因为您正在谈论访问字段,所以我假设您使用序列化(远程存根只是接口,只有方法,没有字段)


序列化的对象将作为副本传输。它们只是价值对象,不会受到服务器上“它们的”版本稍后发生的任何变化的影响。如果需要在服务器上继续“活动”的对象,则必须使用远程对象。在这种情况下,只在客户机上创建一个存根,所有方法调用都转到服务器。

我遵循了这里的总体布局:只进行了修改,以便服务器可以同时是客户机和服务器-如果我理解正确,因为我向regstry注册对象,并调用stub.foo(),这应该在服务器上运行吗?