Java序列化-本质到底是什么?

作者: Java个体户分类: 野生技能协会 发布时间: 2021-12-15 08:00:12 浏览:15792 次

Java序列化-本质到底是什么?

stef824:
文件全是二进制,我存哥存文本不是二进制吗?关键是协议,是格式,序列化是以什么样一种格式来表示对象的?我用Json描述对象,然后存在文件里面行不行?也是可以的! 所以序列化和反序列化的本质是用特定的二进制协议,描述和解释对象。

【回复】那么我其实觉得,只要是远程调用,就都得上 序列化啊,相比也是肯定为了性能提高,所以这么明显的事情,怎么还有面试官问 为啥要序列化???现在哪个项目的远程调用没用序列化了???[脸红]
【回复】回复 @弹幕不再嚣张 :不是json,json序列化效率太低了
【回复】貌似本来就是先转JSON,再转二进制的
白嫖怪竟是我:
我有一个完美游戏结局,我想把他分享给别人,我用中英俄三国语言写了达成完美结局的过程,发布到论坛,别人看了我的帖子,按照我的流程,打出了一模一样的完美结局。 目的:为了让别人有跟我一模一样的存档。 序列化:我把我的存档流程步骤写成帖子。 反序列化:别人按照我帖子打出了一模一样的结局。 协议:中文,英文,俄文。

【回复】打比方有用,但还是要多写几行代码,才能理解。哈哈
attention-is:
都是二进制,对象也是二进制,您这等于没说

是王哔哩呀:
为什么要把对象序列化?好处是什么?项目中经常看到id转序列化,但是具体为什么没去理解过,是不是目前对象中只有id需要序列化?

【回复】举个例子,在java程序里new了一个类实例,现在要把这个实例些进磁盘、远程传输、或者把这个类传给c++程序去使用,怎么办?方法就是把这个实例转化成一种大家约定好的格式,比如json,因为是大家约定好的格式,理所当然的就可以跨语言、跨介质传输保存,这个过程就是序列化,相反的操作就是反序列化。除了json,还可以序列化成xml、字节流等其他格式,通常“保存文件”这个操作都是经过序列化的。
【回复】回复 @大王叫我来巡山____ :序列化id简单的理解就是类的版本号。
【回复】up的确没把序列化说清楚
24424336043_bili:
其实对象在内存里也是二进制数据,这里的本质应该是将内存中不连续的二进制数据转化为连续的二进制流,方便网络和磁盘传输。

大招封走位:
为什么序列化的类需要加serializable注解呢?不加注解一样可以转json啊

Java 打卡挑战 计算机编程趣味知识点

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!