IDEA生成serialVersionUID的方法圖文詳解
序列化和反序列化
Java是面向對象的語言,與其他語言進行交互(比如與前端js進行http通信),需要把對象轉化成一種通用的格式比如json(前端顯然不認識Java對象),從對象到json字符串的轉換,就是序列化的過程,反過來,從json字符串轉換成Java對象,就是反序列化的過程。
serialVersionUID是什么
反序列化的過程,需要從一個json字符串生成一個Java對象。
Gson gson = new Gson();
Request req = gson.fromJson("request string", Request.class)
這時候會有問題,需要驗證輸入的json字符串是否是從當前的Request這個類序列化過去的,serialVersionUID就是用來干這個的。當序列化的時候的serialVersionUID與反序列化的時候的serialVersionUID不一致的時候,會跑出InvalidCalssException。
====================================================================
具體的序列化過程是這樣的:序列化操作的時候系統(tǒng)會把當前類的serialVersionUID寫入到序列化文件中,當反序列化時系統(tǒng)會去檢測文件中的serialVersionUID,判斷它是否與當前類的serialVersionUID一致,如果一致就說明序列化類的版本與當前類版本是一樣的,可以反序列化成功,否則失敗。
生成 serialVersionUID
1.首先實現(xiàn)類需要實現(xiàn)Serializable接口

2.點擊File--> settings,在settings的搜索框搜索serializable,然后在一以下兩個地方打上勾

3.最后選中要生成serialVersionUID的類的類名,按住Alt+Enter即可生成

總結
到此這篇關于IDEA生成serialVersionUID的文章就介紹到這了,更多相關IDEA生成serialVersionUID內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
關于@Autowierd && @Resource 你真的了解嗎
這篇文章主要介紹了關于@Autowierd && @Resource的具體使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
SpringBoot擴展SpringMVC原理并實現(xiàn)全面接管
這篇文章主要介紹了SpringBoot擴展SpringMVC原理并實現(xiàn)全面接管,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11
Java微信公眾平臺開發(fā)(14) 微信web開發(fā)者工具使用
這篇文章主要為大家詳細介紹了Java微信公眾平臺開發(fā)第十四步,微信web開發(fā)者工具的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
Myeclipse鏈接Oracle等數(shù)據(jù)庫時lo exception: The Network Adapter coul
今天小編就為大家分享一篇關于Myeclipse鏈接Oracle等數(shù)據(jù)庫時lo exception: The Network Adapter could not establish the connection,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
SpringBoot靜態(tài)資源css,js,img配置方案
這篇文章主要介紹了SpringBoot靜態(tài)資源css,js,img配置方案,下文給大家分享了三種解決方案,需要的朋友可以參考下2017-07-07
java中JVM中如何存取數(shù)據(jù)和相關信息詳解
這篇文章主要介紹了JVM中如何存取數(shù)據(jù)和相關信息詳解,Java源代碼文件(.java后綴)會被Java編譯器編譯為字節(jié)碼文件,然后由JVM中的類加載器加載各個類的字節(jié)碼文件,加載完畢之后,交由JVM執(zhí)行引擎執(zhí)行。JVM中怎么存取數(shù)據(jù)和相關信息呢?,需要的朋友可以參考下2019-06-06

