網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

serialversionuid|java

欄目: IT科技 / 發佈於: / 人氣:1.46W

<link rel="stylesheet" href="https://js.how234.com/c359fc24b2/da53fe39b117d0455d01c0b110681d4466/da5ee921b51c/da42d322a20a.css" type="text/css" /><link rel="stylesheet" href="https://js.how234.com/c359fc24b2/da53fe39b117d0455d01c0b110681d4466/da5ee921b51c/da42c425b502dd685f0fcdad1b74.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><style>pre{overflow-x: auto}</style>

   <link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java serialversionuid是什麼?讓我們一起來了解一下吧!

java serialversionuid是java程序中的一個判斷標準。serialversionuid運用在java序列化機制中。或者說,java序列化的機制是可以判斷類的serialversionuid來驗證版本的一致性。

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();        }    }}

Tags:java