1. 程式人生 > >private static final long serialVersionUID = 1L 幹什麼的?

private static final long serialVersionUID = 1L 幹什麼的?

看了一些文章,我的理解就是,這個東西是用來serialization 的key,A和B相互之間傳輸資訊,用seralize,但是相互之間把解包之後的檔案進行了更改,如果你程式中不加這個,相互之間再傳輸,會因為這個key不一樣,而失敗。所以,在程式中定義,會使軟體版本相容,無論怎麼改,都可以相互序列化和反序列化。

Java中,如果class實現了序列化介面,你沒有加這一行,eclipse會自動給warning,建議加上,否則,JVM會自動編譯生成一個序列號,這樣傳輸會造成反序列化失敗。因為不同的JVM之間的序列化演算法是不一樣的,不利於程式的移植。

一般情況下,建議序列化的class都給一個序列化的ID,這樣可以保證序列化的成功,版本的相容性。

http://blog.csdn.net/hulefei29/article/details/2823221

http://www.blogjava.net/invisibletank/archive/2007/11/15/160684.html

http://www.blogjava.net/sealyu/archive/2009/04/21/266759.html

相關推薦

JavaBeans 中新增 private static final long serialVersionUID = 1L

這個東西是用來serialization 的key,A和B相互之間傳輸資訊,用seralize,但是相互之間把解包之後的檔案進行了更改,如果你程式中不加這個,相互之間再傳輸,會因為這個key不一樣,而失敗。所以,在程式中定義,會使軟體版本相容,無論怎麼改,都可以相互序列化和反序列化。 Java中,如果cla

JavaBeans 中添加 private static final long serialVersionUID = 1L

fly article 序列化 .net 解包 實現 如果 http 程序 這個東西是用來serialization 的key,A和B相互之間傳輸信息,用seralize,但是相互之間把解包之後的文件進行了更改,如果你程序中不加這個,相互之間再傳輸,會因為這個key不一樣,

private static final long serialVersionUID = 1L 幹什麼的?

看了一些文章,我的理解就是,這個東西是用來serialization 的key,A和B相互之間傳輸資訊,用seralize,但是相互之間把解包之後的檔案進行了更改,如果你程式中不加這個,相互之間再傳輸,會因為這個key不一樣,而失敗。所以,在程式中定義,會使軟體版本相容,無

private static final long serialVersionUID作用

序列化的作用是能轉化成Byte流,然後又能反序列化成原始的類。能在網路進行傳輸,也可以儲存在磁碟中,有了SUID之後,那麼如果序列化的類已經儲存了在本地中,中途你更改了類後,SUID變了,那麼反序列化的時候就不會變成原始的類了,還會拋異常,主要就是用於版本控制。

為什麼日誌要private static final

  private static final Log logger = LogFactory.getLog(SpringProperties.class); 對於使用PMD的任何人來說,如果日誌記錄器沒有宣告為靜態的和final的,那麼這個部落格的標題就會出現在PMD錯誤列表中。具體地

private static final Logger logger=xxx 之為什麼用staticfinal??

private static final Logger logger= LoggerFactory.getLogger(ShiroConfig.class); 我們經常這樣建立日誌例項,那麼為什麼要用

private static final 修飾符

java修飾符分類修飾符欄位修飾符方法修飾符根據功能同主要分下幾種 1、許可權訪問修飾符 public,protected,default,private,四種級別修飾符都用來修飾類、方法和欄位 包外 子類

The serializable class User does not declare a static final serialVersionUID field of type long警告

新建一個user類,並且實現它的getter,setter方法後,發現如下警告: The serializable class User does not declare a static final serialVersionUID field of type long

關於serialVersionUID的說明( serializable class Dept does not declare a static final serialVersionUID field of type long)

一個 ould per col under eclipse 鏈接 uid 關於 1.為什麽需要serialVersionUID (1)對於實現了Serializable接口的類,可以將其序列化輸出至磁盤文件中,同時會將其serialVersionUID輸出到文件中。 (

Java中修飾符的先後順序private public abstract static final

The Java Language Specification recommends listing modifiers in the following order:1. Annotations2. public3. protected4. private5. abstra

static privatefinal 的用法總結

如果 私有屬性 並且 ble 不可 pri 構造 對象 rac 1.static表示靜態。他是屬於類的。可以在本身類裏直接調用,或在其它類裏用類名.方法名調用。不加static表示是實例的方法,必須用實例來調用。在本類裏也一樣,必須用實例調用 2.private是私

訪問權限修飾符-static-final-this-super-匿名對象

static關鍵字 不能被繼承 及返回值 關鍵字 主體 extends 同名方法 現在 定義 1.this關鍵字的作用 1)調用本類中的屬性; 2)調用本類中的構造方法;且只能放首行,且必須留一個構造方法作為出口,即不能遞歸調用 3)表示當前對象;

this/super/static/final/匿名對象/繼承/抽象類/訪問權限修飾符

一個 per 屬性 同名 內容 不能被繼承 sta 調用方法 實現繼承 1.this關鍵字的作用 1)調用本類中的屬性; 2)調用本類中的構造方法;且只能放首行,且必須留一個構造方法作為出口,即不能遞歸調用 3)表示當前對象; 2.匿名對象

轉:java中staticfinalstatic final的區別

重寫 一個 修改 表示 指針 子類 不同 常數 ati http://blog.csdn.net/qq1623267754/article/details/36190715 final可以修飾:屬性,方法,類,局部變量(方法中的變量) final修飾的屬性的初始化

JavaSE8基礎 類中的public成員方法 可以返回 private static類型的成員變量

true png 變量 珍惜 on() kill 博客 pub light 禮悟:   好好學習多思考,尊師重道存感恩。葉見尋根三二一,江河湖海同一體。 虛懷若谷良心主,願行無悔給最苦。讀書鍛煉強身心,誠勸且行且珍惜。

java學習筆記之面向對象static,final關鍵字

一次 static 變量 div nbsp 子類 方法 pan 抽取 java學習筆記之面向對象static,final關鍵字 一.static關鍵字 1.概述:   static靜態的,被static修飾的成員屬於類,不屬於單個對象,被所有對象所共享,存在靜態區中,靜態的

private static的意義

pri post 16px blog 方法 gpo 圖片 span 技術 private static instance:SoundManager; 此處使用private是為了避免外部調用類名.instance 來進行操作。 被private static修飾的

Java中finalstatic final 修飾的常量的區別

評論 tin 產生 建立 dom code 隨機數 ren 使用 喵喵開車,新手上路,多多關照。有任何錯誤請在評論區指出。 ...........................................我是萬惡的分界線( ? ?ω?? )?.............

在JAVA中利用public static final的組合方式對常量進行標識

pan tex 方法 進行 系統設置 ext lean boolean lse 在JAVA中利用public static final的組合方式對常量進行標識(固定格式)。 對於在構造方法中利用final進行賦值的時候,此時在構造之前系統設置的默認值相對於構造方法失效。

static finalstatic final的區別

static final 和final static沒什麼區別,一般static寫在前面 static 修飾的屬性強調它們只有一個,final修飾的屬性表明是一個常數(建立後不能被修改) static final修飾的屬性表示一旦給值,就不可修改,並且可以通過類名訪問 sta