作为一名年轻的开发者,我面临着一种我以前从未面对过的新问题。 根据此article, Java计划因安全问题而删除序列化和反序列化。
我目前正在开发一个使用序列化和反序列化的项目。还没有公布它将被Java删除的确切日期(据我所知)。它不是一个大项目,但不再使用序列化会改变整个架构。
所以我的问题是:在改变项目工作方式之前,我应该预料还是应该等待进一步的细节?
提前致谢。
答案 0 :(得分:7)
即使没有这样的威胁,我也会避免使用Java的序列化机制。
这是一项古老的发明,不仅仅是安全问题。它是特定于Java的,因此不适合与其他平台集成。唯一的好处是它是内置的。
有plenty of libraries提供二进制和其他序列化支持(以及更多),并且它们与Java开发周期无关。他们也没有向后兼容的幽灵(至少和Java的序列化一样强大)。