为什么要加serialVersionUID 为什么要加serialVersionUID?什么时候加serialVersionUID? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 serialVersionUID 用来表明类的不同版本间的兼容性简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。当实现java.io.Serializable接口的实体(类)没有显式地定义一个名为serialVersionUID,类型为long的变量时,Java序列化机制会根据编译的class自动生成一个serialVersionUID作序列化版本比较用,这种情况下,只有同一次编译生成的class才会生成相同的serialVersionUID 。如果我们不希望通过编译来强制划分软件版本,即实现序列化接口的实体能够兼容先前版本,未作更改的类,就需要显式地定义一个名为serialVersionUID,类型为long的变量,不修改这个变量值的序列化实体都可以相互进行串行化和反串行化。 假如服务器和你的本机,都有相同的类,当你序列化的时候,到底按你本机的类进行序列化还是按服务器的类?定义serialVersionUID之后,只有对应的serialVersionUID一致的时候,才被序列化,如果不一致,则报错。 这个是 CLASS里面的。 你每个类里面其实都有一个版本ID 在序列化里面我用过。 比如我传过去的一个类的对象。但是类里面有的添加新的方法。如果不添加这个。 就不能得到数据类容。如果添加和指定ID 的话 在把类修改后。没有修改之前序列化后的类对象 也是可以用的。 其他的就不知道了。 显式地定义serialVersionUID,类型为long,值任意(只要合法是long值。) 大Class java 如何 jdic 控制 IE浏览器的事件? 用TCP传输文件 如何用JNDI修改AD账户的password 如何获取JTABLE中的CHECKBOX值 求教一道简单的题目 如何根据给定日期,得出日期是当月的第几周? 一个小程序。 能讲一下动态绑定得问题吗??最有举个例子,谢谢 java 计算统计小问题 关于JAVA与数据库的问题。求指点 不同文件夹内的java文件相互调用的javac 编译问题
在序列化里面我用过。 比如我传过去的一个类的对象。但是类里面有的添加新的方法。如果不添加这个。
就不能得到数据类容。如果添加和指定ID 的话 在把类修改后。没有修改之前序列化后的类对象 也是可以用的。
其他的就不知道了。