为什么hessian序列化的对象也要实现Serializable接口?
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);
}
}