idea序列化自动生成_serialVersionUID在数据序列化中重要性
作用
值寫為多少
你可以寫為1L,也可以讓IDEA幫你生成一個。
不寫會有什么問題
不寫的話,序列話的時候,JVM會幫你動態的生成一個。這個動態生成的算法可能在不同的虛擬機里不一樣,也就是不同的環境下生成的可能不同。這就會有一個問題,你序列化產生的文件,別人讀的時候會 InvalidClassException。
注意:顯示聲明serialVersionUID可以避免對象不一致
兩種顯示的生成方式
一是默認的1L,比如:private static final long serialVersionUID = 1L;
二是根據包名,類名,繼承關系,非私有的方法和屬性,以及參數,返回值等諸多因子計算得出的,極度復雜生成的一個64位的哈希字段?;旧嫌嬎愠鰜淼倪@個值是唯一的。比如:private static final long serialVersionUID = xxxxL;
注意:顯示聲明serialVersionUID可以避免對象不一致
IntelliJ IDEA 編寫類自動生成serialVersionUID
當我們用 IntelliJ IDEA 編寫類并實現 Serializable(序列化)接口的時候,可能會遇到這樣一個問題,那就是:無法自動生成serialVersionUID
在這里,我們就一起來看看如何利用 IntelliJ IDEA 自動生成serialVersionUID.
第 1 步:安裝GenerateSerialVersionUID插件
如上圖所示,點擊Preferences,進入如下界面:
在這里,選擇Plugins,并搜索GenerateSerialVersionUID,如果沒有發現此插件,則可以點擊Search in repositories進行搜索:
如上圖所示,點擊install,即可安裝此插件。
第 2 步:設置Inspections功能
如上圖所示,進入Default Settings,在Inspections設置頁面中,勾選Serializable class without 'serialVersionUID',并且還可以在Severity中設置提示級別,如Warning、Error等,默認為Warning,也建議選擇Warning級別的提示。
如上圖所示,創建一個類并實現Serializable接口,然后按alt+Enter鍵,即可收到提示,然后選擇SerialVersionUID:
如上圖所示,顯然我們已經利用 IntelliJ IDEA 中自動生成serialVersionUID啦!
總結
以上是生活随笔為你收集整理的idea序列化自动生成_serialVersionUID在数据序列化中重要性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux HZ 值_Linux的ser
- 下一篇: code block怎样实现图形界面_微