java serialversionuid

作者:原创时间:2022-04-20
文档

   

java serialversionuid是什么?让我们一起来了解一下吧!

java serialversionuid是java程序中的一个判断标准。serialversionuid运用在java序列化机制中。或者说,java序列化的机制是可以判断类的serialversionuid来验证版本的一致性。

serialVersionUID有两种显示的生成方法:

1.默认的1L,比如:private static final long serialVersionUID = 1L;

2.根据包名,继承关系,类名,非私有的方法和属性等诸多因子计算得出的,极度复杂生成的一个64位的哈希字段。一般我们计算得出的这个值是唯一的。比如:private static final long  serialVersionUID = xxxxL;
注意:显示声明serialVersionUID能够避免对象不一致。

下面是一些常见的情况:

1.序列化实体类

package com.example.demo.entity.serializable;
 
import java.io.Serializable;
 
public class Persion implements Serializable {
 
    private static final long serialVersionUID = 4359709211352400087L;
    public Long id;
    public String name;
    public final String userName;
 
    public Persion(Long id, String name){
        this.id = id;
        this.name = name;
        userName = "dddbbb";
    }
 
    public String toString() {
        return id.toString() + "--" + name.toString();
    }
}

2. 序列化功能:

package com.example.demo.entity.serializable;
 
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
 
public class SerialTest {
 
    public static void main(String[] args) {
        Persion p = new Persion(1L, "王五");
        System.out.println("person Seria:" + p);
        try {
            FileOutputStream fos = new FileOutputStream("Persion.txt");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(p);
            oos.flush();
            oos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java setlayout java platform java settimeout java plug-in java sftp java plugin java pojo java portal java sha256加密 java shuffle java simhash java simpledateformat java sizeof java sm3加密 文章千古事得失寸心知是谁的名句 诚信的名言名句 关于读书的名言名句 生日的经典名句 感恩老师的名言名句 关于时间的名言名句 java serializable接口 java serializable java sequence java separator java semaphore java selenium java selector java script java sandbox java rxjava java runtime.exec java runnable java rtp java rsa私钥加密 java rsa公钥加密 java pipeline java ping java phoenix java paypal java path