有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java序列化,在一个序列化对象中有许多方法是不是很糟糕

有人能告诉我对象的序列化是如何工作的吗。我试着用谷歌搜索,但由于这个原因,我总是在细节上迷路。我只需要知道什么时候序列化一个对象,它的类有私有/公共变量、静态变量和私有/公共方法。所有的东西都被序列化了还是仅仅是变量?比如,一个对象有许多方法,这些方法将被序列化以在活动之间传递,这是一个坏习惯吗


共 (1) 个答案

  1. # 1 楼答案

    只有对象的状态被序列化,换句话说就是字段。这些方法本身没有序列化。然而,生成的版本号实际上也是状态的一部分,这取决于存在的方法。诚然,可以使用^{}字段来改变这种行为,但这仍然很棘手

    就我个人而言,我强烈建议不要使用Java二进制序列化——它最终会非常难以管理向后和向前的兼容性。还有很多其他的序列化框架可用,它们通常需要比Java序列化多一点的入门工作,但最终会变得更具可移植性和可维护性。就个人而言,我是Protocol Buffers的粉丝,但我有偏见:)