如何实现java序列化?实现方式

KLQ 2020-07-07 15:24:44 java常见问答 8669

之前给大家介绍了什么是java序列化以及java为什么需要序列化的原因,那么下面就来给大家介绍一下java序列化实现的内容。

将一个java对象写到硬盘或者是传输到网路上面的其它计算机,那么这个时候,就需要自己通过java把相应的对象写成转换成字节流。

那么对于这样的操作,为什么不去使用统一的格式呢?这个时候就出现了java的概念了,在java的OutputStream类下面的子类ObjectOutputStream类就有对应的WriteObject(Object object) 其中要求对应的object实现了java的序列化的接口。

在使用tomcat开发JavaEE相关项目时,将tomcat关闭,相应的session中的对象就存储在了硬盘上面,假如,想要在tomcat重启时,从tomcat上面读取对应session中的内容,那么保存在session当中的内容就一定要实现相关的序列化操作,还有jdbc加载驱动用的就是反序列化,将字符串变为对象。

序列化操作:

public class Book implements Serializable
{
    //序列化类:java.ioObjectOutputStream讲对象变为指定的二进制数据
    private static final long serialVersionUID = 1 L;
    private String title;
    private double price;
    public Book(String tit, double pri)
    {
        this.title = tit;
        this.price = pri;
    }
    public String toString()
    {
        Map < String, String > hashMap = new HashMap < String, String > ();
        hashMap.put("Computer base", "6.2");
        hashMap.put("Computer webpage", "45.2");
        hashMap.put("Java", "105.2");
        hashMap.put("Andriod", "89.2");
        //第一种:使用keySet()方法遍历哈希表hashMap中的一些元素
        System.out.println("通过keySet()方法遍历key和value:");
        Set < String > keys = hashMap.keySet();
        for (String key: keys)
        {
            String value = hashMap.get(key);
            System.out.println("BookName:" + key + " ,BookPrice:" + value);
        }
        return "BookName:" + this.title + " ,BookPrice:" + this.price;
    }
}

序列化操作实现你都了解了吧,更多java程序代码例子,请继续通过奇Q工具网来进行了解吧。

推荐阅读:

protobuf序列化原理是什么?protobuf是什么?

二叉树的序列化与反序列化(代码实现和思路)

java取整函数,向上取整函数Math.ceil()