首页 > 编程语言 >java关于序列化的理解

java关于序列化的理解

时间:2022-09-05 09:11:49浏览次数:69  
标签:java 二进制 对象 readObject 传输 理解 序列化

  序列化是将数据变成可以传输的形式:

  1.java对象的形式

  2.二进制形式

  再通过IO传输;可以通过网络传输也可以将数据保存到文件中或者从文件中取出。

  java中通过原生的ObjectOutputStream 类中的writeObject方法和readObject方法可以实现将java对象进行的读取或者通过网络传输(这里说是将java对象进行操作,其实最底层还是要将java变为二进制),其中传输的java对象需要实现java.io.Serializable接口添加一个属性private static final long serialVersionUID,保证java类唯一且传输的前后未发生改变才能正确传输。如果没有手动实现java.io.Serializable接口,java编译器会自动生成,其中生成的serialVersionUID在对类进行改动的时候会更改,这时候如果再的传输话,自动生成的serialVersionUID在传输前后对不上就会抛异常。

  另一种形式就是将java对象转化为字符串再通过二进制形式的方式进行传输。也可以将字符串当作对象进行处理,String类中默认实现了java.io.Serializable接口,如果不将字符串当作java对象处理,那么就是不通过ObjectOutputStream 类中的writeObject方法和readObject方法将字符串以java对象的形式进行传输,而是以二进制的方式直接传输。这时候不走writeObject方法和readObject方法。最为常见的就是将java对象转化为json形式进行传输。fastjson和jackjson框架是常用的将java对象转化为json的工具。SpringMVC中@ResponseBody注解就是将要返回给前端数据转化为json格式进行序列化传输。

标签:java,二进制,对象,readObject,传输,理解,序列化
From: https://www.cnblogs.com/66ccffkira/p/16656885.html

相关文章

  • Javaweb10-javaweb其他知识点
    1、详解DefaultServlet与JspServlet参考博客-->详解DefaultServlet与JspServlet1.1DefaultServlet小结当服务端收到关于Servlet的请求之后交由自定义Servlet处理。当......
  • Vue学习之--------深入理解Vuex之getters、mapState、mapGetters(2022/9/3)
    这一篇博客的内容是在上一篇博客的基础上进行:深入理解Vuex、原理详解、实战应用@目录1、getters的使用1.1概念1.2用法1.3如何读取数据2、getters在项目中的实际应用3......
  • Vue学习之--------深入理解Vuex之多组件共享数据(2022/9/4)
    在上篇文章的基础上:Vue学习之--------深入理解Vuex之getters、mapState、mapGetters1、在state中新增用户数组2、新增Person.vue组件提示:这里使用nanoid来生成新用户......
  • Vue学习之--------深入理解Vuex之模块化编码(2022/9/4)
    在以下文章的基础上1、深入理解Vuex、原理详解、实战应用:https://blog.csdn.net/weixin_43304253/article/details/1266513682、深入理解Vuex之getters、mapState、mapG......
  • 2022年JDK安装(Java安装)详细教程(window)
    ​ 目录一、下载1、下载二、安装1、jdk安装2、jre安装三、检测 一、下载1、下载链接:https://pan.baidu.com/s/1x9xh93LvjqfaPqbByRhgqA提取码:6bso--来自百......
  • JavaScript-6 简介:属性、方法和内置对象
    JavaScript-6简介:属性、方法和内置对象特性当我们向JavaScript程序添加一条新数据时,浏览器会将其保存为该数据类型的一个实例。并且所有数据类型都可以访问传递给每个......
  • Java自定义注解
    简介注解是一种能被添加到java源代码中的元数据,方法、类、参数和包都可以用注解来修饰。注解可以看作是一种特殊的标记,可以用在方法、类、参数和包上,程序在编译或者运行时......
  • JAVA 面向对象-上 (一)
    JAVA面向对象-上(一)类与对象1.面向对象学习的三条主线:①Java类及类的成员:属性、方法、构造器;代码块、内部类②面向对象的三大特征:封装性、继承性、多态性、(抽象性)......
  • Java基础(三)—— 修饰符
    Java修饰符主要分为两种,访问权限修饰符和非访问权限修饰符。分别作用于类、方法和域(字段)上面,而且他们将起到不同的作用,甚至有些修饰符还是互斥的。接下来我将粗略的介绍......
  • HTML、CSS 和 JavaScript 格式的 3D 玻璃天气图标
    HTML、CSS和JavaScript格式的3D玻璃天气图标3D玻璃天气图标免费下载****在HTML、CSS和JavaScript中HTML:<divclass="weatherweather--sun"><divclass......