为什么hessian序列化的对象也要实现Serializable接口?
1条回答 默认 最新
燕少༒江湖 2022-09-06 11:30关注1、对于java序列化和反序列化时,必须实现Serailizeable接口,而且hessian支持多语言,对于java语言,序列化就必须得实现Serializeable接口,这也是约定俗成的事情,支持那种语言,就比如得按照那种语言的规范来开发。
2、在java里面,有些地方强制校验是否必须实现Serailizeable接口,比如hessian就有这个强制校验。
protected Serializer getDefaultSerializer(Class cl) { if (this._defaultSerializer != null) { return this._defaultSerializer; } else if (!Serializable.class.isAssignableFrom(cl) && !this._isAllowNonSerializable) { throw new IllegalStateException("Serialized class " + cl.getName() + " must implement java.io.Serializable"); } else { return new JavaSerializer(cl, this._loader); } }如果没有这个强制校验,我们可以不实现,提前时你这个类持久化数据之后,这个类之后不会修改,你可以去看看这篇文章
Java序列化为什么必须实现 Serializable 接口???_xhmj12的博客-CSDN博客 上一篇:互联网最值得加入的173家国企汇总!!最近公司的在做服务化, 需要把所有model包里的类都实现Serializable接口, 同时还要显示指定serialVersionUID的值. 听到这个需求, 我脑海里就突然出现了好几个问题, 比如说:序列化和反序列化是什么?实现序列化和反序列化为什么要实现Serializable接口?实现Serializable接口就算了, 为什么还要显示指定se...https://blog.csdn.net/xhmj12/article/details/126672396
解决 无用评论 打赏 举报 编辑记录