现象:java.io.InvalidClassException:
com.engine.data.User; local class incompatible: stream classdesc
serialVersionUID = -6012532569298149921, local clas...
分类:
编程语言 时间:
2014-06-16 06:41:21
阅读次数:
432
把Java对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为Java对象的过程称为对象的反序列化。Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的s...
分类:
其他好文 时间:
2014-06-10 10:30:37
阅读次数:
171
在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些seesion先序列化到硬盘中,等要用了,再把保存在硬盘中...
分类:
其他好文 时间:
2014-05-26 16:33:37
阅读次数:
221
1、为什么要使用serialVersionUID
(1)对于实现了Serializable接口的类,可以将其序列化输出至磁盘文件中,同时会将其serialVersionUID输出到文件中。
(2)然后有需要使用时,再从磁盘将对象内容及serialVersionUID读入内容中的某个对象。
(3)将磁盘内容读入对象时,需要进行强制类型转换,如Person person = (Person)oi...
分类:
其他好文 时间:
2014-05-25 04:34:50
阅读次数:
200
为什么要有SerialVersionUID?应该说为什么要手动声明一个ServialVersionUID。因为只要你做了序列化了,JAVA就会自动给你加上一个SerialVersionUID。
Java强烈建议我们显式的声明一个SerialVersionUID,因为SerialVersionUID默认值的计算是根据类的各个方面得来的(属性,方法。。。)。
详情:http://docs.orac...
分类:
其他好文 时间:
2014-05-23 07:37:23
阅读次数:
175
import java.io.*;import java.util.*;public class
Logon implements Serializable { /** * */ private static final long
serialVersionUID = ...
分类:
其他好文 时间:
2014-05-22 03:28:21
阅读次数:
215
serialVersionUID作用:序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。有两种生成方式:一个是默认的1L,比如:private
static final long serialVersionUID = 1L;一个是根据类名、接口名、成员方法及属性等来生成一个64...
分类:
其他好文 时间:
2014-05-14 07:56:58
阅读次数:
316
public class InitServlet extends HttpServlet {
private static final long serialVersionUID = -
5826096764263027718L;
public void destroy() {
super.destroy();
}
public void init() throws Servl...
分类:
编程语言 时间:
2014-05-09 14:45:06
阅读次数:
324