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

怎么做查询数据输入的网站用php怎么做网站

怎么做查询数据输入的网站,用php怎么做网站,协会网站建设计划,怎样做网站推广啊什么是序列化和反序列化 序列化:是将对象转换为可传输或存储的过程, 反序列化:通常是将字节流或是其他数据格式或源数据转为对象的过程。 序列化的作用 对象的持久化:将对象的状态保存到磁盘或数据库中,以便在程序…
什么是序列化和反序列化

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

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

序列化的作用
  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/926403/

相关文章:

  • 将一个网站拉入黑名单怎么做WordPress用户中心激活版
  • 网站域名所有权 查询wordpress降低数据库查询时间
  • 成都网站建设 木木科技天津企业做网站多少钱
  • 烟台网站建设找三硕科技金融企业网站建设公司
  • 网站服务器如何选择wordpress创建登录页面模板
  • 泗洪住房和城乡建设网站郑州免费网站建设哪家好
  • 永仁县建设信息网站网络公关什么意思
  • 大型的PC网站适合vue做吗广州建网站自助建站系统
  • 深圳网站制作服wordpress个人支付接口
  • 规划建网站步骤大气的房产网站
  • 网站系统架构图品牌设计公司招聘
  • 怎么做外网网站监控怎么做淘宝客网站备案
  • 建设会计协会网站wordpress付费閱讀插件
  • 合肥网站推广公司排名公众号平台官网登录入口手机版
  • 做网站为什么要钱西安最有名的策划公司
  • 网站最好服务器wordpress 添加首页
  • 化妆品行业网站建设方案宁波seo营销平台
  • 电子商务网站策划书3500字网站建设确认表
  • 做网站很赚钱吗欧莱雅旗下品牌
  • 网站备案是给什么进行备案网站开发工程师ppt
  • 网站建设工资网站做代理需要空间是多少钱
  • 团队氛围建设 网站c语言程序设计网站
  • 企业网站的在线推广方法有企业网站建设宣贯
  • 有什么教做甜品的网站英文公司网站建设
  • 泉州模板开发建站泰州制作公司网站
  • 网站有哪些后台南宁 网站建设 制作
  • server2003网站建设东莞网站建设咨询
  • 下载建设银行官方网站下载安装如何自己做网站手机
  • 山东网站定制策划荥阳网站制作
  • 网络科技有限公司和科技有限公司的区别seo计费管理系统