zoukankan      html  css  js  c++  java
  • Java 序列化

    什么是序列化

    对象转化为字节流

    为什么序列化

    • 永久保存对象,将对象的字节序列保存到本地文件中。
    • 通过序列化对象,在网络中传递对象
    • 序列化对象,在进程间传递对象

    序列化方法1:实现Serializable接口(隐式序列化)

    实现Serializable接口,这种是隐式序列化,会自动序列化所有非static和transient关键字修饰的成员变量。

    public class A implements Serializable{
       private String name;
    	    private int age;
    	    public A(String name,int age){
    	    this .name=name;
    	    this.age=age;
    	    }
    		public String getName() {
    			return name;
    		}
    		public void setName(String name) {
    			this.name = name;
    		}
    		public int getAge() {
    			return age;
    		}
    		public void setAge(int age) {
    			this.age = age;
    		}
    		@Override
    		public String toString() {
    			return "A [name=" + name + ", age=" + age + "]";
    		}
    }
    //
    public class SerializableDemo{
    public static void main(String [] args){
    Sytem.out.printlen("原来的对象");
     A a= new A("jiao",20);
     System.out.println("a");
     //创建序列化输出流
     ByteArrayOutputStream buf= new ByteArrayOutputStream();
     ObjectOutputStream out= new ObjectOutputStream(buf);
     //将序列化对象存入缓冲区
     out.writeObject(a);
     
     //将对象从缓冲区取出
     ObjectInputStream in = new ObjectInputStream(new ByteArrayOutputStream(buf.toByteArray()));
     A a1= (A) in.readObject();
     System.out.print("输出反序列化后的对象");
     System.out,println("a1");
    }
    }
    
    

    序列化方式二:实现Externalizable接口。(显式序列化)

    Externalizable接口继承自Serializable, 我们在实现该接口时,必须实现writeExternal()和readExternal()方法,而且只能通过手动进行序列化,并且两个方法是自动调用的,因此,这个序列化过程是可控的,可以自己选择哪些部分序列化

    序列化方式三:实现Serializable接口+添加writeObject()和readObject()方法。(显+隐序列化)

    1、方法必须要被private修饰 (才能被调用)
    2、第一行调用默认的defaultRead/WriteObject();(隐式序列化非static和transient)
    3、调用read/writeObject()将获得的值赋给相应的值 (显式序列化)

  • 相关阅读:
    4-MSP430定时器_定时器中断
    关于STM32的外部引脚中断的问题
    关于stm32的正交解码
    红外接收控制灯亮灭
    mack pro常用快捷键
    liunx操作系统安装<一>
    支付宝架构师:从工程师到架构师的成长之路
    maven之setting.xml的配置详解
    分布式之《保证分布式系统数据一致性的6种解决方案》
    Eclipse中jsp、js文件编辑时,卡死现象解决汇总
  • 原文地址:https://www.cnblogs.com/jiaorenzhan/p/10623944.html
Copyright © 2011-2022 走看看