【你问我答】Java中什么是序列化和反序列化?

问题描述:

Java中什么是序列化和反序列化?

回答有奖:

选取一位认真回答问题的牛友,赠送200牛币!

你问我答问题汇总:点击进入

------------
#我也有问题想询问牛友,怎么办?

欢迎私信@筱茜 说明你的问题,将根据问题具体情况排期进入【你问我答】专场~
私信请注明参与【你问我答】专场哦~

你问我答 - 答问题,成大佬,拿牛币!
你问我答是牛客新栏目,每周1期几个问题,
牛友在问题贴下留下自己的知识,经验与见解,
帮助更多牛友了解更多技术相关知识!
#悬赏#
全部评论
定义: 序列化:把对象转换为字节序列的过程称为对象的序列化 反序列化:把字节序列恢复为对象的过程称为对象的反序列化 作用: 内存和外存的转化传递:把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;比如最常见的是Web服务器中的Session对象,当有10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些seesion先序列化到硬盘中,等要用了,再把保存在硬盘中的对象还原到内存中。 网络通信传递:当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 实现方式: ObjectInputStream类中的public final void writeObject(Object x) throws IOException方法 ObjectOutputStream类中的public final Object readObject() throws IOException, ClassNotFoundException方法 注意事项: 一个类的对象要想序列化成功,必须满足两个条件:该类必须实现 java.io.Serializable 对象。 该类的所有属性必须是可序列化的。如果有一个属性不是可序列化的,则该属性必须注明是短暂的。
点赞 回复
分享
发布于 2019-05-28 13:21
序列化简单来说就是将对象转化为可以传输或存储的数据,而这些数据可以反序列化为原来的对象。java的序列化方式不仅限于java自带的serialzable,也可以是阿里开源的fastjson,谷歌的protobuf等等。
点赞 回复
分享
发布于 2019-05-28 13:34
联想
校招火热招聘中
官网直投

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务