Java类未定义serialVersionUID是否影响性能

use*_*036 1 java serialization

我对serialVersionUID感到困惑,有人告诉我,如果我没有定义serialVersionUID,它会影响性能,所以我需要总结我对此的了解

据我了解,在Java编译器中,如果您需要在2个类之间进行通信,或者您需要在1个任务到1个任务之间使用对象通信。当发送者发送对象时,应该在发送者和接收者中生成serialVersionUID,然后将serialVersionUID放入对象中,然后接收验证对象是否正确,接收者将继续该过程,如果不正确,则会抛出异常

所以如果我没有放置serialVersionUID,那么根据我的理解,java编译器将在运行时定义它,所以我认为它不会影响Java执行时的性能

我希望我的理解应该是正确的如果不是请帮助本网站的另一位提出建议

谢谢

Dam*_*ash 5

这些细节的答案总是可以在规范中找到。

如果可序列化类未显式声明serialVersionUID,则序列化运行时将根据该类的各个方面计算该类的默认serialVersionUID 值,如Java(TM) 对象序列化规范中所述。

有关更多信息,请访问 java.io.Serialized。

答案是会,但真正的问题是多少?

这个问题的答案可以在这篇文章《走进连载神话的迷雾》中找到。

结论是,影响并不那么重要,但代码管理的成本可能会更大。与往常一样,此类问题的最终答案取决于项目规模和应用程序运行的环境。