`
bingooh
  • 浏览: 52839 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

11.75 考虑使用自定义序列化数据格式

阅读更多

对象的序列化机制相当于提供了另一种方式创建对象。也可以理解为如果对象支持序列化,相当于对象声明了一个隐藏的构造函数。如果对象的类结构改变了,那么以前的序列化数据进行反序列化可能导致错误。

 

默认的序列化将写入对象的“物理内容”。包括对象本身,以及以此对象为根节点,所能访问的所有引用对象。使用默认序列化可能导致的问题有:

 

1.序列化数据与序列化对象内部引用的对象的API耦合在一起,如果引用对象的API改变,那么反序列化时可能出现错误

 

2.序列化引用对象将会消耗额外的空间(序列化数据)和时间(序列化过程)

 

3.在序列化过程中,可能导致内存溢出

 

因此建议使用自定义序列化,仅写入对象的“逻辑内容”,基本原则包括:

1.总是考虑使用自定义序列化

 

2.仅在对象的“物理内容”和“逻辑内容”一致时,才使用默认的序列化

 

3.考虑覆盖readObject(),保证反序列化对象的一致性和安全性,比如保证对象的某些属性不为空

 

4.使用@serial标记对象可序列化的私有属性的注释,使用@serialData标记对象的私有序列化方法(如writeObject())的注释,以便这些注释能够出现在文档里

 

5.建议总是在readObject()/writeObject()里调用defaultReadObject()/defaultWriteObject(),以保证对象序列化的一致性

 

6.对序列化类,总是显式的声明serialVersionUID属性。

 

7.如果希望仅能读取反序列化全部完成后的对象,那么应使用synchronized修饰writeObject()

 

8.尽可能考虑使用transient修饰对象属性(如果属性值是随机生成的,或者与JVM实现相关的,那么这些属性应考虑标记为transient)

 

 

 

 

分享到:
评论

相关推荐

    论文研究 - 金字塔形结构吸波材料的快速原型设计

    使用有效的时间步进伪谱方案在二维中离散方程,该方案考虑了复合材料的声学特性和衰减特性。 然后,我们使用Stratasys Objet500 Connex 3D打印机构建了3D打印的PSA,该打印机可以组合特定浓度和微结构的光敏聚合物...

    荣光煤矿动压影响下开切眼布置位置分析

    荣光煤矿目前主采5#和6#煤层,为近距离煤层,间距3.27~11.75 m,平均厚8.08 m。根据采掘接替计划,需要在1501工作面的采空区下方布置1601工作面,开采6#煤层。考虑到5#煤层开采后对6#煤层产生的动压影响,需要对1601工作面...

    ffmpeg中文参数说明与使用示例

    1、ffmpeg 推送视频文件,音视频的编码格式只能为H264、AAC。 ffmpeg -re -i “E:\片源\复仇者联盟720p.mov” -vcodec copy -acodec copy -f flv rtmp://192.168.11.75/live/test1  ffmpeg -re -i “E:\片源\复仇者...

    文件加密软件——绿盾

    大小:11.75MB 支持语言:中文版本/英文版本 适用系统:Windows 2000/XP/2003 开发商:厦门天锐科技有限公司 官方下载:www.ldsafe.com 功能简介: 一、文件加密模块 通过绿盾信息安全管理软件,系统在不改变用户...

    论文研究 - 伴有室性心律不齐的患者的冠状动脉搭桥手术:倾向与早期和晚期结果相匹配

    方法:这是一项回顾性研究,前瞻性地研究了1999年1月至2015年9月间进入心脏外科数据库的数据。总共9609例患者接受了心脏外科手术,其中54例患者在IVA存活下来。 将短期和长期结局与倾向匹配组进行比较。 使用Kaplan...

    论文研究 - 在刚果民主共和国金沙萨接受二线治疗的人类免疫缺陷病毒感染者的临床和临床前概况

    背景:2018年,国家抗击艾滋病毒/艾滋病和性传播疾病方案的省分局为金沙萨市发布了总计58327例接受抗逆转录病毒治疗(ART)的艾滋病毒感染者(PLHIV) 5,789名(9.9%)使用二线抗逆转录病毒疗法。 目的:本研究的...

    adf4351控制代码

    ad9959输出作为参考频率,输入11.75MHZ,输出470MHZ,N=320

    河南义马煤加氢热解的热重法研究

    采用热重方法研究了义马...义马煤加氢热解的失重率为55.20%,比氮气条件下增加了11.75%,显示加氢对提高煤热解转化率有明显的作用,提高的转化率主要源于煤的活泼热分解阶段;催化加氢能使整体的反应温度有较大程度的提前。

    解离对于提高难浮煤泥可浮性的研究

    该煤泥不同程度解离后的浮选试验结果表明,在磨煤时间为7 min(平均粒度11.75μm)时,可取得最佳浮选效果,精煤产率达到74.37%,比未经磨煤时提高了6.05个百分点;灰分为9.52%,比未经磨煤时降低了6.08个百分点。

    《计算机应用基础》单选200题.docx

    D 11.75 单选:操作系统将裸机改造成一台( ),使用户无需了解软硬件细节就能使用计算机,提高工作效率。 A 虚拟机;B 家用机;C 商用机;D 超级计算机 单选:windows操作系统属于( )操作系统。 A 命令行;B 单...

    论文研究 - 补充能量浓度水平对放牧卢塞恩牧场的奶牛生产反应和瘤胃消化的影响

    瘤胃环境和中性洗涤剂纤维(NDF)消化的参数是使用另外3头瘤胃空心奶牛获得的。 浓缩物由玉米粒(68%),豆粕(22%),麦麸(8%)和包括莫能菌素的维生素-矿物质预混物组成(进食),并被完全消耗。 与T7.0...

    NEDOL法计算煤基油相对分子量的研究

    结果表明:用NEDOL法计算两种煤焦油窄馏分样品的分子量时,煤焦油A、B窄硫分平均相对误差分别为-6.60%和-11.75%,31个样品的计算结果与测定结果相差较大,NEDOL法不适宜计算煤焦油窄馏分平均分子量;用NEDOL法计算两种...

    变压器铁芯与线圈计算

    铁芯截面:S=(11-6.3)/2×5=11.75 导磁率取13000过高,一般为8000~12000高斯,不熟悉验证导磁率的应按保守取值为10000高斯为妥。 N=4.5×100000/(10000×11.75)≈4(匝) 预增铁、铜损耗时的次级匝数增加5%已足够...

    淮南煤及其燃烧产物中稀土元素丰度的比较

    ③与煤中稀土元素的含量相比,淮南煤中REE在低温燃烧过程中平均散逸程度为11.97%,其中,LREE和HREE的散逸程度分别为12.30%和11.75%;元素分布中,以Eu和Yb的散逸程度最高.煤灰中稀土元素在低温到高温(1100℃)阶段燃烧...

    彩色 2D 矢量场绘图仪:绘制根据长度着色的 2D 矢量。-matlab开发

    这些向量使用 jet 颜色图进行着色(最小的向量为蓝色,最大的向量为红色),并分为 32 个离散颜色级别。 COLORVFIELD(X,Y,U,V,NUMBER_COLOR_LEVELS) 将颜色图划分为 NUMBER_COLOR_LEVELS 直接颜色级别。 例子: X...

    论文研究 - 拟供出口和当地消费的塞内加尔芒果品种的生化组成研究

    Dr品种的黄酮含量最高,为“ 11.75±0.27”,其次是SL品种的“ 11.27±0.10”,Knt品种的含量最低,为“ 1.91±0.04”。 对于总糖,品种中最重要的含量是:Bk“ 12.71±0.32 mg / 100 g”,其次是Dr“ 11.5±0.33 ...

    快速热退火后CdS / Cu(In,Ga)Se-2太阳能电池的性能改进

    当电池在300摄氏度下退火时,在AM 1.5G下获得的光电转换效率为11.75%(V-oc = 0.64 V,J(sc)= 25.88 mA / cm(2),FF = 72.08%)持续30 s。 退火后的太阳能电池的平均绝对效率比沉积后的平均绝对效率高1.5%。...

    LPFG和FBG级联结构双参数光纤传感器研究.pdf

    LPFG中心波长发生蓝移,灵敏度-11.75 pm/℃,线性度0.945 3。降温过程FBG中心波长发生蓝移,灵敏度18.25 pm/℃,线性度0.953 8;LPFG中心波长发生红移,灵敏度-15.42 pm/℃,线性度0.980 2。加载过程FBG中心波长发生...

    中心组合试验优化毛云芝菌固体发酵培养条件 (2009年)

    为了优化毛云芝菌固体发酵培养条件,采用中心组合试验设计方法,研究初始加水量、接种量、培养温度及其交互作用对漆酶活力的影响。...该条件下酶活达到1.4778×104 U,约是优化培养条件前酶活的11.75倍。

    Metrication-crx插件

    考虑一句话“在20盎司柠檬汁中加2盎司糖”:从上下文中,人类读者会理解,“柠檬汁”是液体,因此“液体盎司”是最可能使用的单位。 当遇到“盎司”时,Metrication附件将始终基于质量进行转换,但是,它将在弹出...

Global site tag (gtag.js) - Google Analytics