zoukankan      html  css  js  c++  java
  • Java 中关键字transient引出序列化与反序列化

    一:transient(临时的)关键字

      1.transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。

      2.被transient关键字修饰的变量不能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。

      3.一旦变量被transient修饰,变量将不再是持久化的一部分,该变量内容在序列化后无法获得访问。也可以认为在将持久化的对象反序列化后,被transient修饰的变量将按照普通类成员变量一样被初始化。

    二:java对象序列化

      当两个进程在进行远程通信时,彼此可以发送各种类型的数据 。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个java对象转化为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为java对象。只能将支持 java.io.Serializable 接口的对象写入流中。每个 serializable 对象的类都被编码,编码内容包括类名和类签名、对象的字段值和数组值,以及从初始对象中引用的其他所有对象的闭包

      1.概念

      序列化:把java对象转化为字节序列的过程。

      发序列化:字节序列恢复为java对象的过程。

      2.用途

      对象的序列化主要有两种用途:

      1)把对象的字节序列永久地保存到磁盘上,通常放到一个文件中。

      2)在网络上传送对象的字节序列。

      3.对象序列化代码示例

      

      ==================================================================

      

      结果:

      

      4.说明

      读取对象的顺序与写入时的顺序要一致

      对象的默认序列化机制写入的内容是:对象的类,类签名,以及非瞬态(transient)非静态字段(static)的值。

  • 相关阅读:
    Dynamics AX 2012 R2 配置E-Mail模板
    Dynamics AX 2012 R2 设置E-Mail
    Dynamics AX 2012 R2 为运行失败的批处理任务设置预警
    Dynamics AX 2012 R2 耗尽用户
    Dynamics AX 2012 R2 创建一个专用的批处理服务器
    Dynamics AX 2012 R2 创建一个带有负载均衡的服务器集群
    Dynamics AX 2012 R2 安装额外的AOS
    Dynamics AX 2012 R2 将系统用户账号连接到工作人员记录
    Dynamics AX 2012 R2 从代码中调用SSRS Report
    Dynamics AX 2012 R2 IIS WebSite Unauthorized 401
  • 原文地址:https://www.cnblogs.com/vanl/p/6129009.html
Copyright © 2011-2022 走看看