首页 > 其他分享 >瑞吉外卖 19日

瑞吉外卖 19日

时间:2022-10-19 22:37:11浏览次数:77  
标签:存储 实体类 19 接口 瑞吉 外卖 序列化 Serializable 实现

实体类实现Serializable的作用

Serializable,之前一直有使用,默认的实体类就会实现Serializable接口,对具体原因一直不是很了解,同时如果没有实现序列化,同样没什么影响,什么时候应该进行序列化操作呢?今天查了下资料,大致总结一下。

1、其实序列化,它是完整的保存了某一状态下的对象信息,是一个整体,而不是零散的!我在一个IBM工程师的博客里面看到一个说法,我感觉对于我理解序列化很有帮助,他说序列化的过程,就是一个“freeze”的过程,它将一个对象freeze住,然后进行存储,等到再次需要的时候,再将这个对象de-freeze就可以立即使用。

2、而像int、long、boolean类型等,都是基本数据类型,数据库里面有与之对应的数据结构。从类声明来看,我们以为的没有进行序列化,其实是在声明的各个不同变量的时候,由具体的数据类型帮助我们实现了序列化操作。所以就算我们不实现serializable依旧可以正常操作。

 

这时候,就又有一个问题,既然实体类的变量都已经帮助我们实现了序列化,为什么我们仍然要显示的让类实现serializable接口呢?

 

首先,序列化的目的有两个,第一个是便于存储,第二个是便于传输。我们一般的实体类不需要程序员再次实现序列化的时候,请想两个问题:第一:存储媒体里面,是否是有其相对应的数据结构?第二:这个实体类,是否需要远程传输(或者两个不同系统甚至是分布式模块之间的调用)?

如果有注意观察的话,发现序列化操作用于存储时,一般是对于NoSql数据库,而在使用Nosql数据库进行存储时,用“freeze”这个说法来理解是再恰当不过了,请在NoSql数据库中,给我找出个varchar,int之类的数据结构出来? 如果没有,但我们又确实需要进行存储,那么,此时程序员再不将对象进行序列化,更待何时?

备注:如果有人打开过Serializable接口的源码,就会发现,这个接口其实是个空接口,那么这个序列化操作,到底是由谁去实现了呢?其实,看一下接口的注释说明就知道,当我们让实体类实现Serializable接口时,其实是在告诉JVM此类可被序列化,可被默认的序列化机制序列化。

然后,需要说明的是,当我们在实体类声明实现Serializable接口时,再次进行观察,会发现这些类是需要被远程调用的。也就是说需要或者可能需要被远程调用,这就是序列化便于传输的用途。

标签:存储,实体类,19,接口,瑞吉,外卖,序列化,Serializable,实现
From: https://www.cnblogs.com/Ye-Hang-Xing/p/16806818.html

相关文章

  • 2022-10-19 mysql 查询中found_rows没有返回正确的总数据量 limit
    查询语句中使用了limit来进行分页,本打算是1页返回10行数据,满足条件的数据有15条,使用了limit后再用found_rows查总符合数据,却只得到了10条,而不是15条,证明查询语句不严谨。......
  • 10.19总结
    [2022-51nod赛前模拟]csp-s第6套-T1题目描述给出一个n个点m条边的有向图,顶点编号1到n,边的编号为1到m。你可以选择一些边进行反转(即从u到v的边反转后变......
  • 2022年10月19日
       踏踏实实,脚踏实地,一步一个脚印,慢慢变好,惊艳自己;做自己的摆渡人,自己是自己最大的贵人,自己是自己最强大的人脉;人的潜力无限;强者自愈;  境由心转,心态好了,一切顺顺......
  • 2022.10.19期中
    1.数据导入 loaddatalocalinpath'/opt/module/ceshi.csv'intotabledata; 2.数据清洗 insertoverwritetablesale2selectdate_add('2022-10-00',ca......
  • 10.19
    今日内容1.包的具体使用2.编程思想的转变3.软件开发目录规范4.常用内置模块之collections5.常用内置模块之时间模块6.常用内置模块之随机模块1.包的具体使用虽然py......
  • 10月19日内容总结——包的使用、软件开发目录规范和常用内置模块
    目录一、包的具体使用二、编程思想的转变三、软件开发目录规范1、bin目录2、conf目录3、core目录4、lib目录5、db目录6、interface目录7、log目录8、readme文件9、requirem......
  • 牛客MySQL真题练习2(180-194)
    统计每款的SPU(货号)数量,并按SPU数量降序排序SELECTstyle_id,COUNT(item_id)ASSPU_numFROMproduct_tbGROUPBYstyle_idORDERBYSPU_numDESC统计实际总销售......
  • Microsoft Excel 2019 for Mac(excel电子表格)中文正式版mac/win
    MicrosoftExcel是微软公司的办公软件Microsoftoffice的组件之一,是由Microsoft为Windows和AppleMacintosh操作系统的电脑而编写和运行的一款试算表软件。Excel是微软办......
  • 做题记录整理图论/dfs P5022 [NOIP2018 提高组] 旅行(2022/10/19)
    P5022[NOIP2018提高组]旅行我只想出了部分分的解法。。。https://fzy.blog.luogu.org/solution-p5022#include<bits/stdc++.h>#definefor1(i,a,b)for(inti=a;i......
  • 做题记录整理图论/最短路/dp/记忆化搜索 P3953 [NOIP2017 提高组] 逛公园(2022/10/19)
    P3953[NOIP2017提高组]逛公园https://122720.blog.luogu.org/p3953-ti-xie-ji-yi-hua-sou-suo大佬讲得挺好的,我就不写了#include<bits/stdc++.h>#definefor1(i,a,b......