java - RMI:按值传递还是按引用传递?

标签 java remoting rmi

我找不到这个问题的明确答案,所以我想在这里用我自己的具体例子来问:

我正在创建一个多人垄断游戏。实际的垄断代码在服务器上运行,客户端本质上是一个访问和控制该代码的 GUI。垄断游戏由称为“银行”的类控制。

假设我在我的客户的 main() 中做了这个:

Bank banker = server.getBank(); //gets the bank object from server
bank.turn(); //moves the current player

这个调用是在服务器上的 Bank 对象上调用 turn() 还是在我本地机器上的它的副本上?

更新:银行未实现远程。它是一个可序列化的对象。

最佳答案

这取决于 Bank 是否是 Remote 的实例。如果是这样,那么它将通过引用传递(如果所有设置都正确),如果不是,它将被序列化并通过值传递。

编辑:由于您的Bank 类不是Remote,而是 Serializable,然后它将被复制并按值传递。

关于java - RMI:按值传递还是按引用传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3087756/

相关文章:

Java - 从网站获取数据不起作用(403 错误)

c# - 使用 WCF 在另一个 CLR 地址空间中执行代码并返回对象

java - 流式传输远程日志文件的有效方法

java - RMI(java.net.ConnectException : Connection refused: connect)

AsyncTask 中的 java.lang.NullPointerException

java - 使用Recyclerview解析Json

java - 如何从 Servlet 获取 XML 文件

c# - .NET IpcChannel 不能可靠地正确清理?

java - 从字符串变量 Java 进行转换

java - Raspberry Pi 上的 RMI 不起作用连接拒绝主机 : 127. 0.0.1