Java RMI序列化/封送
我需要一些关于java序列化的说明。如果我正在序列化一个对象,并且希望通过RMI返回该对象,那么我是否只需要在对象的自定义类上实现serializable?我见过objectoutputstream和objectinputstream,但我不知道是否需要使用它们,因为我不太了解它们的用法。我的第二个问题是如何使arraylist可序列化?我的第三个问题可能与我的第一个问题有关,但我如何在返回对象之前封送它?序列化对象是否会在过程中封送它 让我们把有问题的班级称为句子:Java RMI序列化/封送,java,serialization,rmi,Java,Serialization,Rmi,我需要一些关于java序列化的说明。如果我正在序列化一个对象,并且希望通过RMI返回该对象,那么我是否只需要在对象的自定义类上实现serializable?我见过objectoutputstream和objectinputstream,但我不知道是否需要使用它们,因为我不太了解它们的用法。我的第二个问题是如何使arraylist可序列化?我的第三个问题可能与我的第一个问题有关,但我如何在返回对象之前封送它?序列化对象是否会在过程中封送它 让我们把有问题的班级称为句子: public class
public class Sentence implements Serializable {
}
然后我将创建该类的一个实例,并从其他类返回该对象
Serializable
就是所谓的标记接口;它只是告诉Java,您的类具有某种能力,而不需要您实现任何特定的方法。在类中实现它告诉JVM可以(有意义地)获取Java对象的字段并将其转换为打包形式,以供以后或在另一台计算机上使用
如果类中的所有字段都是可序列化的,那么就只需要这样做了。如果您的字段不可
序列化
,例如保存网络连接或本机资源的字段,则需要将它们标记为暂时的
(被序列化忽略)当您的类通过重写readObject
和/或writeObject
Serializable
进行反序列化时,请注意将它们设置为备份,这就是所谓的标记接口;它只是告诉Java,您的类具有某种能力,而不需要您实现任何特定的方法。在类中实现它告诉JVM可以(有意义地)获取Java对象的字段并将其转换为打包形式,以供以后或在另一台计算机上使用
如果类中的所有字段都是可序列化的,那么就只需要这样做了。如果您的字段不可
序列化
,例如保存网络连接或本机资源的字段,则需要将它们标记为暂时的
(被序列化忽略)当您的类通过重写readObject
和/或writeObject
Serializable
进行反序列化时,请注意将它们设置为备份,这就是所谓的标记接口;它只是告诉Java,您的类具有某种能力,而不需要您实现任何特定的方法。在类中实现它告诉JVM可以(有意义地)获取Java对象的字段并将其转换为打包形式,以供以后或在另一台计算机上使用
如果类中的所有字段都是可序列化的,那么就只需要这样做了。如果您的字段不可
序列化
,例如保存网络连接或本机资源的字段,则需要将它们标记为暂时的
(被序列化忽略)当您的类通过重写readObject
和/或writeObject
Serializable
进行反序列化时,请注意将它们设置为备份,这就是所谓的标记接口;它只是告诉Java,您的类具有某种能力,而不需要您实现任何特定的方法。在类中实现它告诉JVM可以(有意义地)获取Java对象的字段并将其转换为打包形式,以供以后或在另一台计算机上使用
如果类中的所有字段都是可序列化的,那么就只需要这样做了。如果您的字段不可序列化
,例如保存网络连接或本机资源的字段,则需要将它们标记为瞬态
(被序列化忽略),并在通过重写readObject
和/或writeObject
反序列化类时注意将它们设置为备份