当前位置: 首页 > 面试题库 >

什么时候应该实现Serializable接口?

闽阳州
2023-03-14
问题内容
public class Contact implements Serializable {
    private String name;
    private String email;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
  1. 什么时候应该实现Serializable接口
  2. 我们为什么要这样做?
  3. 它具有任何优势或安全性吗?

问题答案:
  1. 从这是什么“系列化”的事情怎么一回事?:

它使您可以获取一个对象或一组对象,将它们放在磁盘上或通过有线或无线传输机制发送,然后稍后,也许在另一台计算机上,逆转该过程:恢复原始对象。基本机制是将一个或多个对象展平为一维比特流,并将该比特流转换回原始对象。

就像《星际迷航》中的“运输者”一样,所有事情都是将复杂的东西变成1和0的平面序列,然后将1和0的序列(可能在另一个地方,可能在另一个时间)并重构原始的复杂“东西。”

因此,Serializable在需要存储对象的副本时将其实现,然后将其发送到在同一系统或网络上运行的另一个进程。

  1. 因为您要存储或发送对象。

  2. 它使存储和发送对象变得容易。它与安全性无关。



 类似资料:
  • 所以我正在学习Comparator和Comparable,我有以下问题。我有一门课: 另一个类Name实现了可比较的,在构造函数中有两个String。我不完全理解的是比较器的功能,我读过Java留档,我知道它用于对元素进行不同的排序,而不改变我的例子中的名称类它也可以在某些情况下允许空值,但是这个我的类构造函数中的声明工作正常,我根本不需要在PhoneBook类中实现比较器接口: 并实现了我希望它

  • 问题内容: 我知道他们两个都禁用了Nagle的算法。 我什么时候应该/不应该使用它们中的每一个? 问题答案: 首先,不是所有人都禁用Nagle的算法。 Nagle的算法用于减少有线中更多的小型网络数据包。该算法是:如果数据小于限制(通常是MSS),请等待直到收到先前发送的数据包的ACK,同时累积用户的数据。然后发送累积的数据。 这将对telnet等应用程序有所帮​​助。但是,在发送流数据时,等待A

  • 问题内容: 在该类中,有两个字符串,和。 有什么不同?我什么时候应该使用另一个? 问题答案: 如果你的意思是和则: 用于在文件路径列表中分隔各个文件路径。考虑在上的环境变量。您使用a分隔文件路径,因此在上将是;。 是或用于拆分到特定文件的路径。例如在上,或

  • 问题内容: @Entity public class Husband implements Serializable { 广义上是什么? 类为什么实现接口? 为什么丈夫成员一个人只有@OnetoOne(mappedBy =“ Wife”),而妻子成员却没有@OnetoOne(mappedBy =“ husband”) 问题答案: 广义上讲,序列化是Java为开发人员提供的将任何对象的状态持久保存到

  • 问题内容: 这已经使我困惑了一段时间。随着UTF-8作为Web开发中的实际标准的出现,我不确定在哪种情况下应该使用HTML实体,对于哪种情况我应该仅使用UTF-8字符。例如, 破折号(–,) &符(&,) 3/4分数(¾,) 请阐明这个问题。将不胜感激。 问题答案: 如果您的编辑器支持Unicode,则通常不需要使用HTML字符实体。在以下情况下,实体可能会很有用: 您的键盘不支持您需要输入的字符

  • 问题内容: 在集成我以前从未使用过的Django应用程序时,我发现了用于定义类中函数的两种不同方式。作者似乎非常有意地使用了它们。第一个是我自己经常使用的: 另一个是我不使用的,主要是因为我不知道何时使用它,以及什么用途: 在Python文档中,装饰器的解释如下: 类方法将类作为隐式第一个参数接收,就像实例方法接收实例一样。 所以我想指的是自己(而不是实例)。我不完全理解为什么会这样,因为我总是可