当前位置: 首页 > news >正文

网站建设用款培训餐饮网站建设

网站建设用款,培训餐饮网站建设,网站单页在线,建设通网站上的业绩能否有用什么是序列化和反序列化 序列化:是将对象转换为可传输或存储的过程, 反序列化:通常是将字节流或是其他数据格式或源数据转为对象的过程。 序列化的作用 对象的持久化:将对象的状态保存到磁盘或数据库中,以便在程序…
什么是序列化和反序列化

序列化:是将对象转换为可传输或存储的过程,

反序列化:通常是将字节流或是其他数据格式或源数据转为对象的过程。

序列化的作用
  1. 对象的持久化:将对象的状态保存到磁盘或数据库中,以便在程序重新启动时恢复对象。
  2. 对象的传输:通过网络或其他通信方式将对象发送到远程系统,实现分布式系统的通信。
  3. 对象的缓存:将对象序列化后存储在缓存中,可以提高读取和响应速度。

总结来说序列化后可以传输,持久化保存到文件或系统缓存中进行交互。

java序列化转成字节流的好处

跨平台兼容以及方便传输和持久化存储: 字节流是一种通用的数据表示方式,可以在不同平台客户端,服务器之间传输或磁盘上或在数据库中存储

占用空间小和隐私安全: 字节流更紧凑,并且不直接暴露对象的内部结构和属性,占用更少的存储空间。

总结将对象序列化为字节流跨平台兼容以及方便传输,紧凑占用空间小和隐私更安全。

java中序列化的实现
类实现 Serializable 接口,

Serializable 接口没有任何方法,只是一个标记接口是一个约定和规范,是为了表明一个类可以被序列化会把对象转换为字节流,具体序列化过程就是通过流将对象写入流 在读出来

import java.io.Serializable;public class MyClass implements Serializable {// 类的成员变量和方法
}
类实现 Externalizable 接口

需要实现 writeExternal 和 readExternal 方法,以提供更高度的自定义序列化和反序列化过程

import java.io.Externalizable;
import java.io.ObjectInput;
import java.io.ObjectOutput;public class MyExternalizableClass implements Externalizable {@Overridepublic void writeExternal(ObjectOutput out) {// 自定义序列化逻辑}@Overridepublic void readExternal(ObjectInput in) {// 自定义反序列化逻辑}
}
将对象转为JSON格式或是解析JSON数据转为对象
// 通过jdk的ObjectMapper将对象转为json
AllPerson person = new AllPerson();
ObjectMapper objectMapper = new ObjectMapper();
String jsonString = objectMapper.writeValueAsString(person);// 还可以通过alibaba的fastjson或是hutoll的json工具
关于序列化注意的问题
定义serialVersionUID有什么用

serialVersionUID是一个用于版本控制的静态变量,用于确保在对象序列化和反序列化过程中,类的版本一致性

transient修饰成员变量不被序列化

如果在一个序列化的类中一些成员变量不需要或不能被序列化可以使用关键字transient修饰

NotSerializableException

如果一个类没有实现Serializable接口 但是在用流将类序列化时就会报错

关于JSON序列化的理解

将对象解析成JSon格式就是序列化的过程,将JSON数据解析为对象就是反序列化的过程,因为JSON也是一种通用的跨平台的格式

演示了如何将一个实现了 Serializable 接口的对象序列化成字节流,并在反序列化时还原对象
import java.io.*;public class SerializationExample {public static void main(String[] args) {// 创建一个实现了 Serializable 接口的对象MyClass myObject = new MyClass("Hello, Serialization!");// 将对象序列化为字节流try (FileOutputStream fileOut = new FileOutputStream("myobject.ser");ObjectOutputStream out = new ObjectOutputStream(fileOut)) {out.writeObject(myObject);} catch (IOException e) {e.printStackTrace();}// 从字节流中反序列化对象try (FileInputStream fileIn = new FileInputStream("myobject.ser");ObjectInputStream in = new ObjectInputStream(fileIn)) {MyClass restoredObject = (MyClass) in.readObject();System.out.println(restoredObject.getMessage()); // 输出: Hello, Serialization!} catch (IOException | ClassNotFoundException e) {e.printStackTrace();}}
}class MyClass implements Serializable {private String message;public MyClass(String message) {this.message = message;}public String getMessage() {return message;}
}

http://www.yayakq.cn/news/826696/

相关文章:

  • 如何加快网站收录品牌公司标志设计制作
  • 郑州百度seo网站优化网站制作公司套路
  • 哪些网站可以做h5wordpress 时光网主题
  • 网站地图好处怎样创建自己的网址
  • 网站权重怎么做的wordpress多个主体功能合并
  • seo在网站建设中的作用专业免费网站建设哪里便宜
  • 赣州网站建设jx25简单建设网站
  • 衡水wap网站建设wordpress js代码插件
  • 做网站是用什么语言成全视频免费高清观看在线动漫
  • 网站美工做专题尺寸多少?网站关键词布局图
  • 展示类网站模板js开商城网站
  • 昆明网站网站建设能24小时挂机的云电脑
  • 网站建设服务方案wordpress 电台
  • 网站制作 那种语言好博达网站建设流程
  • 自己做网站咋做ipfs做网站
  • 网站界面优化360免费wifi老是掉线怎么办
  • 如何做热词网站建设网站要什么
  • 免费网站模板 带后台东莞网站建设+旅游
  • 图书购物网站开发总结现在用什么语言做网站
  • 网站建设开发免费咨询做代理稳妥的彩票网站有哪些
  • 如何将自己做的网站变成中文建设 网站协议
  • 个人怎么做公司网站吴江区建设局网站打不开
  • 做衣服的教程网站有哪些舆情分析是个什么行业
  • 地方网站欣赏开设购物网站的方案
  • 建立网站tk网站的切图是谁来做
  • 呼和浩特建设工程信息网站南昌市科协网站
  • 小辣椒网站开发网站用什么字体
  • 电商购物网站开发网站内容添加
  • 撸撸撸做最好的导航网站湛江制作企业网站
  • 如何查看自己做的网站大小wordpress title背景颜色