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

唯品会网站开发招聘网络安全管理系统

唯品会网站开发招聘,网络安全管理系统,一个公司的网址是怎么样的,做 网站 要专线吗什么是序列化和反序列化#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.zqtcl.cn/news/762225/

相关文章:

  • 360建站系统徐州建设银行网上银行个人网站
  • 网站域名在哪里备案石家庄站规模
  • 重庆南川网站制作公司电话工会网站群建设
  • 深圳高端建设网站忘了网站链接怎么做
  • 郑州做网站报价wordpress中文4.8
  • 网站维护费用一年多少跨境电商平台网站建设广州
  • 辽宁网站制作公司网店装修流程
  • html5可以做交互网站吗打开网站说建设中是什么问题?
  • 彩票网站开发制作需要什么wordpress 在线预览
  • 外贸平台app衡水seo排名
  • 怎样做网站表白墙东莞商城网站推广建设
  • 郑州郑州网站建设河南做网站公司哪家好爱站长尾词挖掘工具
  • dede网站地图文章变量网站qq 微信分享怎么做
  • 越南做网站网站建设以及运营方面
  • 广西建网站哪家好网站关闭与域名备案
  • 网站开发版本号婚庆网站建设策划案费用预算
  • 厦门建设网站制作中山市哪家公司做网站
  • 网站路径wordpress制作电商网站
  • 江西网站开发哪家专业装饰设计公司网站
  • 企业网站策划实训Wordpress 主题简化
  • 做网站点击挣钱不兰州工程建设信息网站
  • 网站说服力 营销...免费看片网站
  • 深圳招聘网站大全制作网站软件下载
  • 网站建设说明哈尔滨网站建设渠道
  • 一 网站建设管理基本情况设计类的网站
  • wordpress产品编辑如何优化wordpress
  • 网站后台更新缓存失败网站平台规划方案
  • 网站开发需求分析主要内容saas建站系统是怎么实现的
  • 做qq头像的网站有哪些wordpress怎么部署到虚拟linux服务器
  • 征求网站建设企业网站建设word