java 实现serialVersionUID
文章转自 https://www.cnblogs.com/duanxz/p/3511695.html
作用
serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。
在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,
如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是InvalidCastException。
使用
serialVersionUID有两种显示的生成方式:        
一是默认的1L,比如:private static final long serialVersionUID = 1L;        
二是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:
三是系统自动生成
当实现java.io.Serializable接口的类没有显式地定义一个serialVersionUID变量时候,
Java序列化机制会根据编译的Class自动生成一个serialVersionUID作序列化版本比较用,
这种情况下,如果Class文件(类名,方法明等)没有发生变化(增加空格,换行,增加注释等等),就算再编译多次,serialVersionUID也不会变化的。
java 实现serialVersionUID的更多相关文章
- Java基础--serialVersionUID
		Java基础--serialVersionUID serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性.有两种生成方式: 一个是默认的1L,比 ... 
- Java中serialVersionUID的解释及两种生成方式的区别(转载)
		转载自:http://blog.csdn.net/xuanxiaochuan/article/details/25052057 serialVersionUID作用: 序列化时为了保持版 ... 
- JAVA中SERIALVERSIONUID的解释
		serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性.有两种生成方式: 一个是默认的1L,比如:private st ... 
- Java中serialVersionUID
		报错信息如下: Adds a default serial version ID to the selected type. Use this option to add a user-defined ... 
- 【java】serialVersionUID作用
		serialVersionUID适用于Java的序列化机制.简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的 ... 
- java 序列化 serialVersionUID 的作用 和 两种添加方式
		serialVersionUID适用于Java的序列化机制.简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的 ... 
- Q:java中serialVersionUID的作用
		@转载自:http://www.cnblogs.com/guanghuiqq/archive/2012/07/18/2597036.html 简单来说,Java的序列化机制是通过在运行时判断类的s ... 
- Java | 原来 serialVersionUID 的用处在这里
		本文首发于 http://youngzy.com/ 一直不太明白Java对象里 serialVersionUID 字段是做什么用的.有或者没有,它们之间有差别吗?除了Eclipse里提示的那个黄色的警 ... 
- Java 基础 - java序列化 & serialVersionUID
		ref: https://www.cnblogs.com/duanxz/p/3511695.html ------------------- SerialVersionUID概述 SerialVers ... 
随机推荐
- sql特殊语法
			MYSQL --判断非空select ifnull(null,'666');--666select ifnull(null,null);--null--合并字段select CONCAT('666', ... 
- nginx简单使用配置
			使用nginx首先要明确使用场景,这里是一台服务器实现多种类型访问:网站首页访问,GitLab访问,note(私人springboot项目),静态文件访问. 下面是一份配置文件 nginx.conf, ... 
- 性能监控(2)–linux下的vmstat命令
			vmstat它可以统计CPU.内存使用情况.swap使用情况等信息.它还可以指定采样周期和次数. 
- Spring Boot 1.5.* 升级 2.1 - 完善中
			Spring Boot 原版本 1.5.12.RELEASE 新版本 2.1.0.RELEASE Spring Cloud 原版本 Edgware.SR3 新版本 Finchley.SR2 一.Act ... 
- Spring基于注解和XML混合方式的使用
			首先要明白,基于注解和XML两种方式的实现功能是一样的,只是两种不同的配置方式. 一.IoC配置 1.配置xml 在使用注解与xml结合的方式配置IoC之前,首先要引入context标签: xmlns ... 
- CSS 中的 BFC,IFC,GFC和FFC
			原文网址:http://www.cnblogs.com/dingyufenglian/p/4845477.html What‘s FC? 一定不是KFC,FC的全称是:Formatting Conte ... 
- sql server: left join 重复数据
			---涂聚文 2017-9-28 SELECT VipExamMailProjectId,VipExamMailStaffID FROM VipExamMailRecord WHERE VipExam ... 
- 【读书笔记】iOS-iCloud介绍
			iCloud是一种面向消费者市场的云存储服务,苹果公司已经做了大量的工作让用户能够平滑过渡到iCloud,不过对开发者而言这意味着新的负担. 怎样使用iCloud? 你可以使用2种方式在你的应用中使用 ... 
- maven(二):创建一个可用的maven项目,完整过程
			环境:eclipse4.5 (内置maven插件) 创建maven项目 文件菜单--新建--其他-- maven project 下一步 选择web 结构 group id: 指项目在maven本地 ... 
- C++ 获取当前正在执行的函数的相关信息
			(我的运行环境:win10x64+vs2015通过, 有的环境KUbuntu 8.04.1 x64 g++ 4.2.3也通过了)主要通过宏来实现:(注意,开头和结尾都是两个下划线) 1. __PRET ... 
