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

徐州人才网官方网站购物网站哪里建最好

徐州人才网官方网站,购物网站哪里建最好,高端t恤定制网站,网站反链接什么是序列化和反序列化#xff1f; 什么是序列化和反序列化#xff1f; 序列化和反序列化是计算机科学中两个重要的概念#xff0c;主要应用在数据存储和网络传输等场景。序列化是将数据结构或对象状态转换为可以存储或传输的形式的过程。这种形式要求在重新构建原始对象…什么是序列化和反序列化 什么是序列化和反序列化 序列化和反序列化是计算机科学中两个重要的概念主要应用在数据存储和网络传输等场景。序列化是将数据结构或对象状态转换为可以存储或传输的形式的过程。这种形式要求在重新构建原始对象时能够在其他环境或在程序运行的后续时间点使用。这个过程主要通过将对象的数据转化为字节流来实现也可以将其转化为格式如 XML 或 JSON 的数据以便在网络上进行传输或在磁盘上进行存储。举个例子假设你有一个复杂的数据结构如一个包含多个字段和数组的对象。你不能直接将这个对象写入文件或通过网络发送。因此你需要先将其转换为可以写入或发送的格式这就是序列化。反序列化是序列化的逆过程也就是从一系列字节中提取出数据结构。在接收到序列化的数据如从文件或网络后通过反序列化可以将数据恢复为原始的对象或数据结构从而可以在程序中使用。以上述的例子反序列化就是读取该文件或接收到的数据并根据序列化时的格式将其恢复为原始的对象。这两个过程在很多编程语言中都有内置的支持例如在 Java 中你可以使用 java.io.Serializable 接口来对对象进行序列化和反序列化在 Python 中你可以使用 pickle 模块进行序列化和反序列化在 JavaScript 中你可以使用 JSON 的 stringify 和 parse 方法进行序列化和反序列化等。 在java中实现序列化和反序列化为什么要实现Serializable接口 Serializable 接口是一种标记接口本身并没有定义任何方法但是它向 JVM 提供了一个指示表明实现该接口的类可以被序列化和反序列化。这意味着你可以将该类的对象转换为字节流序列化然后再将这个字节流转回为对象反序列化。序列化的过程是 JVM 通过反射来完成的它会查看对象的类是否实现了 Serializable 接口。如果没有实现将会抛出一个 NotSerializableException 异常。实现 Serializable 接口的主要原因如下 允许 JVM 序列化对象如上所述JVM 只会序列化实现 Serializable 接口的对象。表示类的实例可以被安全地序列化实现 Serializable 接口的类表示它满足 JVM 对于序列化的要求。这不仅仅是类的实例可以被转换为字节流还包括这个类的实例可以被反序列化而且反序列化后的对象保持了原始对象的状态。允许类的实例在 JVM 之间进行传输序列化的一个重要应用是在网络应用或分布式系统中允许对象在 JVM 之间进行传输。只有实现 Serializable 接口的对象才能通过网络进行传输。持久化序列化也被用于将对象的状态持久化即将对象存储在数据库、文件或内存中然后在需要的时候再进行恢复。实现 Serializable 接口的对象可以被持久化。 综上实现 Serializable 接口是为了使对象可以被序列化和反序列化以便在不同的环境或时间点恢复对象的状态或在 JVM 之间传输对象或将对象的状态持久化。 案例 当然可以。下面这个简单的例子中我们将创建一个实现了 Serializable 接口的类 Person然后进行序列化和反序列化 首先我们创建一个实现了 Serializable 接口的 Person 类 import java.io.Serializable;public class Person implements Serializable {private static final long serialVersionUID 1L;private String name;private int age;public Person(String name, int age) {this.name name;this.age age;}public String getName() {return name;}public int getAge() {return age;}Overridepublic String toString() {return Person{ name name \ , age age };} }接下来我们创建一个序列化这个 Person 对象的类 SerializeDemo import java.io.FileOutputStream; import java.io.ObjectOutputStream;public class SerializeDemo {public static void main(String[] args) {Person p1 new Person(John Doe, 30);try {FileOutputStream fileOut new FileOutputStream(/tmp/person.ser);ObjectOutputStream out new ObjectOutputStream(fileOut);out.writeObject(p1);out.close();fileOut.close();System.out.println(Serialized data is saved in /tmp/person.ser);} catch (Exception e) {e.printStackTrace();}} }现在我们来反序列化这个 Person 对象创建一个类 DeserializeDemo import java.io.FileInputStream; import java.io.ObjectInputStream;public class DeserializeDemo {public static void main(String[] args) {Person p null;try {FileInputStream fileIn new FileInputStream(/tmp/person.ser);ObjectInputStream in new ObjectInputStream(fileIn);p (Person) in.readObject();in.close();fileIn.close();} catch (Exception e) {e.printStackTrace();}System.out.println(Deserialized Person...);System.out.println(Name: p.getName());System.out.println(Age: p.getAge());} }以上就是一个完整的 Java 序列化和反序列化的例子。首先我们创建了一个 Person 对象并序列化到一个文件中然后我们从这个文件中读取数据并反序列化回 Person 对象。
http://www.pierceye.com/news/345014/

相关文章:

  • 做带字头像的网站wordpress 翻页设置
  • 网站横幅js代码公众号如何申请
  • 找网站建设需要问什么软件物联网平台功能
  • 含山县城市建设有限公司网站成都中高风险地区名单最新
  • 鄂州手机网站建设深圳seo网站设计
  • 网站内容的实现方式建筑设计人才招聘
  • 网站做优化效果怎样iis怎么做网站空间
  • 重庆市建设局网站郑州网站建设哪一家好
  • wordpress指定分类广告金融网站排名优化
  • 美妆网站建设方案陕西网络公司网站建设
  • 北京地铁建设的网站深圳建网站兴田德润可信
  • 平台门户网站建设企业战略规划方案
  • 北京网站备案的地址住房和城乡建设部网站质保金
  • 网络营销自学网站腾讯云服务器cvm
  • 建设旅行网站策划书浙江省职业能力建设处网站
  • 网站项目建设的组织机构wordpress做登录
  • 定制杯子岳阳优化营商环境
  • 中学院新校区建设专题网站如何搭建网络教学平台
  • 网站开发课程设计体会房地产查询官网
  • 网站建设 响应式 北京出口外贸网站建设
  • 做网站图片格式做旅游网站的yi
  • 公司网站做二维码网址人防门电气图纸符号大全久久建筑网
  • 电商网站特点中国制造网怎么注册
  • 酒店网站建设便宜酒店设计
  • 东莞网站建设规范新版wordpress编辑
  • 自己的简历网站怎么做工业网页设计欣赏
  • 建设银行苏州官网招聘网站未明潮网站建设保密协议
  • 河南省住房和城乡建设厅查询网站叫外包公司做网站不肯给源代码的
  • 手机站模板权威发布是指什么
  • 青岛开发区做网站做网站的公司上海