当前位置: 首页 > news >正文

开发一套网站价格wordpress修改角色管理

开发一套网站价格,wordpress修改角色管理,wordpress 主题添加,优秀网站设计案例serialVersionUID简要介绍serialVersionUID是在Java序列化、反序列化对象时起作用的一个字段。Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时#xff0c;JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进…serialVersionUID简要介绍serialVersionUID是在Java序列化、反序列化对象时起作用的一个字段。Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较如果相同就认为是一致的可以进行反序列化否则就会出现序列化版本不一致的异常即是InvalidClassException。序列化是一种把对象持久化到外部的手段。在网络传输等场景中应用广泛如Dubbo等框架。类通过实现 java.io.Serializable 接口以启用其序列化功能。阿里Java规约中的描述阿里规约中强制性的提醒修改serialVersionUID字段会引起反序列化失败的情况。代码演示下面通过实际代码来演示对象序列化、反序列化的操作。引入依赖org.apache.commons commons-lang3 3.8.1commons-io commons-io 2.6junit junit 4.12commons-lang3这个包有帮我们实现了序列化的工具类commons-io帮我们实现了文件操作的工具类junit用来写单元测试。序列化有User.class如下DataBuilderpublic class User implements Serializable {​ private static final long serialVersionUID 1L;​ private String username;​}Data 和 Builder 是Lombok里面的注解可以自动生成getter、setter方法等不懂的可以查看我之前的文章对这个有讲解。需要序列化的类需要实现Serializable接口Serializable是一个标识接口里面没有具体需要实现的东西。序列化代码Testpublic void serializeTest() throws IOException { User user User.builder().username(happyjava).build(); byte[] serialize SerializationUtils.serialize(user); FileUtils.writeByteArrayToFile(new File(serialize.txt), serialize);}SerializationUtils是commons-lang3包给我们提供的工具类它给我们提供了序列化和反序列化的方法我们直接拿过来用就好了。 FileUtils是commons-io包给我们提供的工具类它给我们提供了非常丰富的IO操作工具类。执行方法后查看serialize.txt这就是序列化后保存到外部的对象了。我们可以把它反序列化成为对象。反序列化反序列化代码如下Testpublic void deserializeTest() throws IOException { byte[] bytes FileUtils.readFileToByteArray(new File(serialize.txt)); Object object SerializationUtils.deserialize(bytes); System.out.println(object instanceof User); User user (User)object; System.out.println(user.getUsername());}这里使用FileUtils把外部的文件读入使用SerializationUtils反序列化成为对象。然后判断反序列化后对象的类型强转为User后输出其username运行结果如下说明反序列化已经成功过了修改serialVersionUID值使反序列化异常现在把User的serialVersionUID值做一下修改DataBuilderpublic class User implements Serializable {​ private static final long serialVersionUID 2L;​ private String username;​}之前是1现在改为2再次执行反序列化方法结果如下这里出现了开头提到的InvalidClassException异常并且通过异常信息可以看到这是serialVersionUID不一致引起的。org.apache.commons.lang3.SerializationException: java.io.InvalidClassException: cn.happy.User; local class incompatible: stream classdesc serialVersionUID 1, local class serialVersionUID 2总结通过理论和代码演示我们已经知道了serialVersionUID字段可以造成反序列化失败的情况。所以在做系统升级的时候需要充分考虑是否要改动serialVersionUID的值因为这会引起兼容性的问题。
http://www.huolong8.cn/news/74067/

相关文章:

  • 北京网站建站企业门户网站模板分享
  • 网站底部导航制作企业网站建设完整教程
  • 凡科网站做门户网怎么样东道设计作品
  • 做网站 就上凡科建站网站管理系统安装
  • 网站找哪些单位做实名认证黄金网站软件免费
  • 长宁区网站建设网页制作行业软件公司外包
  • 西安做公司网站公司asp网站怎么安装
  • 网站建设计划书下载无棣做网站
  • 西部数码网站打不开wordpress 社区模版
  • 汕头网站推广排名一个新的网站怎么做SEO优化
  • asp网站模板同性男做的视频网站
  • 织梦网站如何备份教程html5 ASP 演示网站
  • 网页制作网站设计稿怎么查看网站的外链
  • 长沙做旅游网站公司手机做网站哪家好
  • 专业做网站哪里有eclips怎么做网站
  • 淘宝客网站需要多大主机网站让图片充满屏幕怎么做
  • 查看网站外链重庆市全面解封
  • 长春网站制作建设最新的网站开发框架
  • 网站建设常用的工具wordpress spa
  • 重庆网站备案大厅湛江哪个论坛人气多
  • 杭州制作网站企业免费建设网站设计页面
  • 网站后台怎么做鞍山网站制作一般多少钱
  • 唐山做企业网站的公司建设网站的网站首页
  • 网站源码程序重庆做网站优化推广的公司
  • 一级a做爰片免费网站中文电商网站设计模板
  • 做问卷调查用哪个网站旅游网站怎么设计
  • 企业微网站建站一线城市做网站工资有多少钱
  • 弹幕网站用什么做手表网站排行榜
  • 江西省赣州市邮政编码关键seo排名点击软件
  • 创建网站得花多少钱c 语言做网站