搜索
简帛阁>技术文章>序列化Serializable

序列化Serializable

创建一个类,实现Serializable接口(这是一个标志接口,给jvm识别的)

package com.io;

import java.io.Serializable;

public class Student implements Serializable {<!-- -->
    private String name;
    private String password;

    public Student() {<!-- -->
    }

    public Student(String name, String password) {<!-- -->
        this.name = name;
        this.password = password;
    }

    public String getName() {<!-- -->
        return name;
    }

    public void setName(String name) {<!-- -->
        this.name = name;
    }

    public String getPassword() {<!-- -->
        return password;
    }

    public void setPassword(String password) {<!-- -->
        this.password = password;
    }

    @Override
    public String toString() {<!-- -->
        return "Student{" +
                "name='" + name + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

从内存写入到硬盘保存这个对象

package com.io;

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;

/**
 * 序列化,从内存写入到硬盘保存对象
 * 反序列化,从硬盘读到内存组装对象
 *   FileOutputStream在工程项目下创建序列化文件students,这个文件保存了序列化后的对象,可以用反编译软件查看里面的内容
 */
public class ObjectOutputStreamTest01 {<!-- -->
    public static void main(String[] args)  throws  Exception{<!-- -->

        Student student = new Student("张三","123");

        //序列化
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("students"));
        //序列化对象
        oos.writeObject(student);
        //刷新
        oos.flush();
        //关闭
        oos.close();
    }
}

反序列化,读操作;从硬盘里读序列化对象的文件,这个文件叫students

package com.io;

import java.io.FileInputStream;
import java.io.ObjectInputStream;

/**
 * 反序列化对象
 * 1,参数:需要反序列化对象的那个文件
 * 2,调用readObject() 方法;
 */
public class ObjectInputStreamTest01 {<!-- -->
    public static void main(String[] args) throws  Exception {<!-- -->
        //反序列化
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("students"));
        //读,开始序列化
        Object object = ois.readObject();
        //输出对象
        System.out.println(object);
        //关闭
        ois.close();
    }
}

最终,控制的输出的是一个对象

创建一个类,实现Serializable接口(这是一个标志接口,给jvm识别的)packagecomio;importjavaioSerializable;publicclassStudentimpl
java:序列Serializable接口publicclassSerializePersonimplementsSerializable{privateStringname;privateint
1、为何要序列?把内存中的java对象能够在磁盘上持久保存通过网络传输对象通过RMI(RemoteMethodInvocation远程过程调用)传输。通过序列可以把对象转化为与平台无关的二进制流,
文实例讲述了C中Serializable序列。分享给大家供大家参考。具体分析如下:概述:序列就是是将对象转换为容易传输的格式的过程,一般情况下转化打流文件,放入内存或者IO文件中。例如,可以序列
一:Serializable1、持久的简单介绍:“持久”意味着对象的“生存时间”并不取决于程序是否正在执行——它存在或“生存”于程序的每一次调用之间。通过序列一个对象,将其写入磁盘,以后在程序再
序列和反序列什么时候需要用到序列和反序列呢?实现序列和反序列化为什么要实现Serializable接口?实现序列和反序列如何不实现Serializable接口?实现Serializabl
序列简介Java的对象序列将那些实现Serializable接口的对象转换成一个字节序列,并能在之后将这个字节序列完全恢复为原来的对象。这就意味着Java对象在网络上的传输可以不依赖于当前计算机
本文详细对Android中Serializable和Parcelable序列对象进行学习,具体内容如下学习内容:1序列的目的2Android中序列的两种方式3Parcelable与Serial
序列与反序列首先来了解一下序列与反序列序列由于存在于内存中的对象都是暂时的,无法长期驻存,为了把对象的状态保持下来,这时需要把对象写入到磁盘或者其他介质中,这个过程就叫做序列。反序列反序
客户端访问了某个能开启会话功能的资源,web服务器就会创建一个与该客户端对应的HttpSession对象,每个HttpSession对象都要站用一定的内存空间。如果在某一时间段内访问站点的用户很多,w