`
- 浏览:
132842 次
- 性别:
- 来自:
北京
-
eclipse中编写Exception时使用的serialVersionUID
serialVersionUID作用:
序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。
所谓序列化,就是把一个类或对象转化成数据流的形式,进行数据传输(特别是IO操作和网络传输),而反序列化当然就是逆过程。
JAVA中实现序列化的基本过程是:
(1)将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,
(2)然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream(对象流)对象
(3)接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。
在eclipse中,当你一个类实现了Serializable接口,如果没有定义serialVersionUID,Eclipse会提供这个提示功能告诉你去定义之。有两种生成方式:
一个是默认的1L,比如:private static final long serialVersionUID = 1L;
一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:private static final long serialVersionUID = -8940196742313994740L;之类的。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Java中serialVersionUID的解释,对于版本的说明解释问题
eclipse序列号生成器,方便大家在使用eclipse的时间生成序列号用。
本篇文章主要介绍了详述IntelliJ IDEA 中自动生成 serialVersionUID 的方法(图文),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
以下是对Java中的serialVersionUID进行了全面的分析介绍。需要的朋友可以过来参考下
主要介绍了java类中serialVersionUID的作用及其使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
三期第一张IO笔记 6
全面解析了java中serialVersionUID的作用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要介绍了java序列化和serialVersionUID的使用方法实例的相关资料,这里说明很详细的使用方法让你彻底学会,需要的朋友可以参考下
【强制】序列化类新增属性时,请不要修改 serialVersionUID 字段,避免反序列失败; 如果 完全不兼容升级,避免反序列化混乱,那么请修改 serialVersionUID 值。 说明:注意 serialVersionUID 不一致会抛出序列化...
主要介绍了idea如何自动生成serialVersionUID,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
NULL 博文链接:https://jnh.iteye.com/blog/1300193
这是用Java编写的一个简单的银行转账系统,包括取款,存款,转账等功能,其中用到了数据库的连接,采用Eclipse编写,包含数据库的设计文件。非常适合有一定基础的Java初学者使用。 package com.gujunjia.bank; /* ...
序列化版本号serialVersionUID的作用_动力节点Java学院整理.
索引字段使用时不能进行函数运算。 多选 15.关于生产环境的日志文件,下列哪些说法符合《阿里巴巴Java开发手册》:ABCD A .异常信息应该包括两类信息:案发现场信息和异常堆栈信息。 B .日志文件推荐至少保存15...
614.612.JAVA基础教程_IO流与网络编程-serialVersionUID的理解(614).rar
private static final long serialVersionUID = 1L; private String filename; @SuppressWarnings("rawtypes") public String export() throws Exception { String templateFile = "18.xls"; // String sql...
private static final long serialVersionUID = -6963187366089365790L; /** * This field <code>alerter</code> is used to show the information the Class offered. * * @see javax.swing.JOptionPane ...
private static final long serialVersionUID = 5204982079673572494L; private JTextField tf=new JTextField(); private float x=0; private float y=0; private int code=0; private boolean enable; ...
描述:调用的方法中不会抛出异常,但是调用方法的时候尝试使用try catch 捕获异常; 处理方式:确认此方法的调用会不会导致异常的发生,如果不会抛出异常请去 掉try catch,确认方法调用会不会抛出异常关键是对方法...
为什么阿里巴巴不建议在for循环中使用“+”进行字符串拼接?44 为什么阿里巴巴禁止在foreach循环里进行元素的remove/add操作?54 为什么阿里巴巴禁止工程师直接使用日志系统(Log4j、Logback) 中的API? 66 为什么...