java序列化浅谈

简介:   首先大家进来第一个疑问肯定是“什么是序列化?为什么要使用序列化?怎么实现一个简单的序列化案例?”1.序列化就是把对象以一种规范的二进制形式存在内存中,另一边以反序列化方式获取;2那么为什么要使用序列化呢?不使用序列化的话,就没有一个规范,你就算存储了数据,别人也不知道以哪种规范去获取;所以序列化就是一种大家都认同的规范了;3.接下来我们实现一个简单的序列化案例,只要会写“Hello World!!!”的人都可以实现这个案例!!!  1.首先建一个普通的java项目:    2.随便写一个名字,然后Finish    3.随便建一个java类;  复制下面的即可,看好了。

  首先大家进来第一个疑问肯定是“什么是序列化?为什么要使用序列化?怎么实现一个简单的序列化案例?”

1.序列化就是把对象以一种规范的二进制形式存在内存中,另一边以反序列化方式获取;

2那么为什么要使用序列化呢?不使用序列化的话,就没有一个规范,你就算存储了数据,别人也不知道以哪种规范去获取;所以序列化就是一种大家都认同的规范了;

3.接下来我们实现一个简单的序列化案例,只要会写“Hello World!!!”的人都可以实现这个案例!!!

  1.首先建一个普通的java项目:

    2.随便写一个名字,然后Finish

    3.随便建一个java类;

  复制下面的即可,看好了。这个类是实现了序列化的接口的

public class Demo01 implements Serializable{
    public byte version = 100;         
    public byte count = 0;  
    private String name ;
	@Override
	public String toString() {
		return "Dome01 [version=" + version + ", count=" + count + ", name=" + name + "]";
	}
	public byte getVersion() {
		return version;
	}
	public void setVersion(byte version) {
		this.version = version;
	}
	public byte getCount() {
		return count;
	}
	public void setCount(byte count) {
		this.count = count;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
    
    
}

  4.继续新建一个类,写个main方法

复制即可,

public class Demo02 {
    public static void main(String args[]) throws IOException {  
        //创建一个文件输出流,指定一个路径
        FileOutputStream fos = new FileOutputStream("F:/temp.out");         
        ObjectOutputStream oos = new ObjectOutputStream(fos);          
        Demo01 ts = new Demo01();
        //随意设置几个值,方便测试
        ts.setName("test2");
        //输出,刷新,关流
        oos.writeObject(ts);          
        oos.flush();          
        oos.close(); 
    }
}

  5.编写测试类,测试即可;测试步骤自行发挥!!!!!

public class Demo03 {
    public static void main(String args[]) throws Exception {   
        //获取文件输入流,就是你刚刚指定的文件
        FileInputStream fis = new FileInputStream("F:/temp.out");          
        ObjectInputStream oin = new ObjectInputStream(fis);           
        Dome01 ts = (Dome01)oin.readObject();  
        //获取打印即可
        System.out.println("version="+ts.version+ts.getName());    
        
        if(oin!=null){
            oin.close();
        }
    } 
}

 

 6.是不是很简单,是不是不用想,案例就出来了!!!!还是需要自己都思考思考!!!

 

目录
相关文章
|
1月前
|
存储 安全 Java
Java一分钟之-Java序列化与反序列化
【5月更文挑战第14天】Java序列化用于将对象转换为字节流,便于存储和网络传输。实现`Serializable`接口使类可被序列化,但可能引发隐私泄露、版本兼容性和性能问题。要避免这些问题,可使用`transient`关键字、控制`serialVersionUID`及考虑使用安全的序列化库。示例代码展示了如何序列化和反序列化对象,强调了循环引用和未实现`Serializable`的错误。理解并妥善处理这些要点对优化代码至关重要。
29 1
|
2天前
|
Java
JAVA单例模式-双重检验锁(防止反射、序列化多个)
JAVA单例模式-双重检验锁(防止反射、序列化多个)
12 1
|
3天前
|
Java 数据库 开发者
Java中的序列化与反序列化
Java中的序列化与反序列化
|
10天前
|
网络协议 Java API
【Java】序列化和反序列化
【Java】序列化和反序列化
16 4
|
15天前
|
Java 数据安全/隐私保护 Android开发
Java基础21-读懂Java序列化和反序列化(二)
Java基础21-读懂Java序列化和反序列化(二)
29 1
|
15天前
|
XML 存储 Java
Java基础21-读懂Java序列化和反序列化(一)
Java基础21-读懂Java序列化和反序列化(一)
15 1
|
20天前
|
JSON 缓存 Java
【Java基础】 序列化和反序列化
Java中的序列化(Serialization)和反序列化(Deserialization)是将对象和字节流之间进 行相互转换的过程。这两个过程用于保存对象的状态并能够在需要时恢复这些状态。
13 1
|
2天前
|
存储 JSON 缓存
Java中的对象序列化与反序列化:实现与应用
Java中的对象序列化与反序列化:实现与应用
|
8天前
|
存储 安全 网络协议
【JAVA反序列化】序列化与反序列化&Java反射&URLDNS链
【JAVA反序列化】序列化与反序列化&Java反射&URLDNS链
|
1月前
|
存储 Java 编译器
Java 序列化
5月更文挑战第18天