请求参数为啥有时候不需要实现Serializable?

为啥spring mvc请求的时候参数不需要实现Serializable,而dubbo服务调用的时候接口参数需要实现Serializable?


回答:

实现Serializable,或者说类序列化的目的是为了,将本来只属于当前jvm的一个类实例对象,按照一定规则转化为一个二进制流(或其他形式),而这个新的形式,支持存储,传递,以及最重要的反序列化(还原)。
mvc处理请求参数,主要是一个反序列化的过程,springmvc默认传入的参数都是json格式的,然后内置了Jackson作为反序列化器,然后将json转换成对象。
dubbo服务调用是一个rpc调用,是两个应用之间(jvm之间)传递对象,需要发送端进行序列化,接收端进行反序列化,所以需要实现Serializable。
此外本质上是否需要实现Seializable和接口没有关系,更多的还是看你的对象实例,是否需要存储、传输、多个jvm之间共享

以上是 请求参数为啥有时候不需要实现Serializable? 的全部内容, 来源链接: utcz.com/p/944815.html

回到顶部