zoukankan      html  css  js  c++  java
  • JAVA基础之——序列化和反序列化

    1 概念

    序列化,将java对象转换成字节序列的过程。

    反序列化,将字节序列恢复成java对象的过程。

    2 为什么要序列化?

    2.1 实现数据持久化,当对象创建后,它就会一直在,但是在程序终止时,这个对象就被销毁了。如果序列化对象进行持久化了,那么该对象可以被程序加载后被重建。

    2.2 网络传输,不同的环境上传输能够保证数据不变。

    3 序列化几种方式

    3.1 实现接口Serializable

    ObjectOutputStream  writeObject  

    ObjectInputStream readObject

    3.2 实现接口Externalizable

    4 扩展

    4.1 对象中属性用transient修饰时,不能被序列化。

    4.2 如何在idea中配置自动生成uuid 

    快捷键ctrl+alt+s打开settings

    搜索Inspections

    搜索Serializable

    勾选Serializable class without ‘serialVersionUID’

    点击ok按钮

    在实现了Serializable接口的类名上,快捷键alt+enter,选择添加uuid字段即可

    4.3 socket传输时如何处理数据

    比较常用的两种方式:对象转成json字符串传输;采用java对象的序列化和反序列化

    4.4 当一个父类实现了序列化,子类自动实现序列化,不需要显示实现Serializable接口

    4.5 当一个对象引用其他对象,序列化该对象是,其他对象也必须实现Serializable接口

  • 相关阅读:
    C#操作Word (2)-- 打开&关闭Word文档
    JS input 银行卡号格式转换
    解决H5在微信浏览器或QQ浏览器修改title的问题
    CSS
    Atom 编辑器使用和学习
    php的一个小坑,输出不了json_encode
    js 组合键监听ctrl + enter
    webpack3.0 环境搭建
    css 使表格随着内容自动适应宽度
    获取input光标的x和y轴
  • 原文地址:https://www.cnblogs.com/guobm/p/9830309.html
Copyright © 2011-2022 走看看