2011-08-03 63 views
1

我正在寻找一种工具,它可以告诉我一个类/对象是否是合法的可序列化对象(实现可序列化,并且它的所有字段都是可序列化的)。 我知道我可以知道一个对象是否只能在运行时序列化。 我想在编译时得到警告,一个类是否可以不可序列化(例如 - 一个成员不可序列化,尽管在运行时它可以是空的,或者是可序列化的子类类型)。此外,在运行时我想检查一个类是否真正可序列化,然后尝试通过网络作为序列化对象发送它。序列化检查 - 编译时间和运行时间

谢谢...

回答

1

这通常是使用静态代码分析完成的。

使用了很多的工具是Findbugs。它会告诉你许多常见问题和可疑行为。其中一张支票是您提到的那张(described here)

对于大多数IDE来说都有插件,所以它可以在你工作的时候完成它的工作,而一种常见的模式是将它包含在自动构建中。

4

是否需要编译时间?我之前使用单元测试完成了这个任务,这与开发生命周期的编译时间非常接近。 This article有点过时,但概述了一些很好的方法。我们还通过使用两个Web服务器对我们的Web应用程序进行真正的故障转移测试来捕获非可串行化状态,这就是为什么我需要验证可串行性。

+0

你忘了附加链接到“这篇文章” – AlexR

+0

@AlexR - 我发布后约15秒修复它,你很快! – jkraybill