IDEA生成serialVersionUID的方法图文详解

 更新时间:2023年11月15日 15:06:06   作者:Vladimirzzzzz  
Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的,下面这篇文章主要给大家介绍了关于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。 

====================================================================

具体的序列化过程是这样的:序列化操作的时候系统会把当前类的serialVersionUID写入到序列化文件中,当反序列化时系统会去检测文件中的serialVersionUID,判断它是否与当前类的serialVersionUID一致,如果一致就说明序列化类的版本与当前类版本是一样的,可以反序列化成功,否则失败。

生成 serialVersionUID 

1.首先实现类需要实现Serializable接口

2.点击File--> settings,在settings的搜索框搜索serializable,然后在一以下两个地方打上勾

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

总结

到此这篇关于IDEA生成serialVersionUID的文章就介绍到这了,更多相关IDEA生成serialVersionUID内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于@Autowierd && @Resource 你真的了解吗

    关于@Autowierd && @Resource 你真的了解吗

    这篇文章主要介绍了关于@Autowierd && @Resource的具体使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • IDEA开发并部署运行WEB项目全过程

    IDEA开发并部署运行WEB项目全过程

    文章介绍了WEB项目标准结构及部署方法,涵盖目录划分(如WEB-INF、classes、lib)、核心文件(web.xml、index.html),以及三种部署方式:直接放置webapps、war包部署、自定义路径配置,同时说明了IDEA中如何关联Tomcat、配置项目结构及部署原理
    2025-07-07
  • 浅析idea生成war包放入tomcat的路径访问问题

    浅析idea生成war包放入tomcat的路径访问问题

    这篇文章主要介绍了关于idea 生成war 包放入tomcat的路径访问问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • SpringBoot扩展SpringMVC原理并实现全面接管

    SpringBoot扩展SpringMVC原理并实现全面接管

    这篇文章主要介绍了SpringBoot扩展SpringMVC原理并实现全面接管,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Java微信公众平台开发(14) 微信web开发者工具使用

    Java微信公众平台开发(14) 微信web开发者工具使用

    这篇文章主要为大家详细介绍了Java微信公众平台开发第十四步,微信web开发者工具的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Java中的8大基本数据类型详解

    Java中的8大基本数据类型详解

    这篇文章主要介绍了Java中8大基本数据类型的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Myeclipse链接Oracle等数据库时lo exception: The Network Adapter could not establish the connection

    Myeclipse链接Oracle等数据库时lo exception: The Network Adapter coul

    今天小编就为大家分享一篇关于Myeclipse链接Oracle等数据库时lo exception: The Network Adapter could not establish the connection,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • SpringBoot静态资源css,js,img配置方案

    SpringBoot静态资源css,js,img配置方案

    这篇文章主要介绍了SpringBoot静态资源css,js,img配置方案,下文给大家分享了三种解决方案,需要的朋友可以参考下
    2017-07-07
  • JAVA Web.xml加载顺序过程详解

    JAVA Web.xml加载顺序过程详解

    这篇文章主要介绍了JAVA Web.xml加载顺序过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • java中JVM中如何存取数据和相关信息详解

    java中JVM中如何存取数据和相关信息详解

    这篇文章主要介绍了JVM中如何存取数据和相关信息详解,Java源代码文件(.java后缀)会被Java编译器编译为字节码文件,然后由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎执行。JVM中怎么存取数据和相关信息呢?,需要的朋友可以参考下
    2019-06-06

最新评论