java - RMI 序列化/编码

标签 java serialization rmi

我需要一些关于 java 序列化的说明。如果我正在序列化一个对象并且我想通过 RMI 返回该对象,我是否只需在对象的自定义类上实现可序列化?我见过 objectoutputstream 和 objectinputstream 但我不知道是否需要使用它们,因为我不太了解它们的用法。我的第二个问题是如何使数组列表可序列化?我的第三个问题可能与我的第一个问题有关,但是在返回对象之前如何整理对象?序列化对象是否会在此过程中编码(marshal)它?

让我们调用有问题的类句子:

public class Sentence implements Serializable  {

}

然后我将创建该类的实例并从其他类返回该对象

最佳答案

  1. 是的:实现 Serialized 使您的对象可序列化,除非它引用不可序列化的对象。 RMI 在内部使用对象流来发送和接收对象。如果使用 RMI,则不需要使用它们。如果您想使用套接字发送对象,或者将其保存到文件中,那么您可以使用它们。

  2. ArrayList 已经可序列化。看看它的javadoc。您无需执行任何操作。

  3. 您只需从 RMI 方法返回对象,RMI 就会为您序列化它。序列化和编码是两个词,基本上含义相同。同样,如果 RMI 方法接受参数,RMI 将序列化作为参数传递的对象,将其发送到 RMI 服务器,RMI 服务器将反序列化它,然后调用您的实际方法。这一切都由 RMI 为您完成。

关于java - RMI 序列化/编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19741130/

相关文章:

Android java.lang.IllegalArgumentException : no char field 'exponential' in android 2. 3

java - Lambda和方法引用在运行时级别之间有什么区别?

java - RMI 上的大字节数组

java - 使用 wsdl 创建 SOAPUI 项目

java - 可以解析 HTML 文档并构建 DOM 树(java)

json - 如何在 Asp.net Core Web Api 中默认使用 Newtonsoft.Json?

java - 执行客户端 RMI 时出错

Java RMI 服务器端线程

java - 由于 "Unable to compile"错误,无法运行 Rational Rhapsody

java - 使用 Thread 作为 Collection 中的键