`

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;之类的。


分享到:
评论

相关推荐

    Java中serialVersionUID的解释

    在 Eclipse 中,当我们实现了 Serializable 接口时,如果没有定义 serialVersionUID,Eclipse 会提供这个提示功能告诉我们去定义它。如果我们不想定义它,在 Eclipse 的设置中也可以把它关掉的,设置如下:Window ==...

    详述IntelliJ IDEA 中自动生成 serialVersionUID 的方法(图文)

    在进行反序列化时,JVM 会把传来的字节流中的 serialVersionUID 与本地相应实体(类)的 serialVersionUID 进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。 在 ...

    eclipse序列号生成器

    如果你在安装或使用Eclipse时遇到问题,应该寻求官方支持或者社区的帮助,而不是寻找序列号生成器。Eclipse的更新、安装和升级都是通过官方网站完成的,不需要任何序列号或其他形式的许可证验证。 在软件开发领域,...

    java类中serialVersionUID详解.pdf

    在 Eclipse 中,当一个类实现了 `Serializable` 接口但未明确声明 `serialVersionUID` 时,IDE 会提示警告。此时,用户可以通过以下步骤来生成或忽略该警告: 1. **生成 `serialVersionUID`**: - 点击类中的警告...

    coreJava: serialVersionUID

    计算`serialVersionUID`的方法有多种,包括使用`javap`命令行工具,或者使用一些IDE如Eclipse或IntelliJ IDEA的插件。在更新`serialVersionUID`时,开发者需要权衡兼容性和版本控制之间的关系,确保在不影响旧数据反...

    java类中serialVersionUID的作用及其使用

    4. 在序列化和反序列化中使用serialVersionUID:在序列化和反序列化中,serialVersionUID用于验证类的版本一致性,从而确保序列化和反序列化的正确性。 serialVersionUID是Java语言中实现Serializable接口的类必须...

    Eclipse JAVA 计算器源码 适合初学者

    该计算器可以被直接复制到Eclipse IDE中运行,并通过逐步阅读和理解源码来增强对Java编程的理解。 #### 二、环境搭建与运行 1. **开发工具**:Eclipse IDE。 2. **运行环境**: - Java Development Kit (JDK) 8或...

    serialVersionUID作用全面解析

    例如,当我们实现 Serializable 接口的类没有显示地定义 serialVersionUID 时,Eclipse 会提供相应的警告。如果我们不想定义 serialVersionUID,可以在 Eclipse 的设置中将其关闭。 在 Java 序列化机制中,...

    idea如何自动生成serialVersionUID

    在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。 在IDEA中,有两...

    全面解释Java中的serialVersionUID

    Java中的`serialVersionUID`是一个非常重要的概念,尤其是在处理序列化和反序列化操作时。序列化是将对象的状态转换为字节流的过程,而反序列化则是将字节流恢复为对象状态。`serialVersionUID`的主要作用是确保在类...

    java序列化和serialVersionUID的使用方法实例

    序列化的作用是将 Java 对象的状态保存起来,以便下次使用时可以恢复其原来状态。 在 Java 中,序列化是通过实现 Serializable 接口来实现的,该接口没有任何方法,只是标示该类对象可被序列化。序列化过程中,使用...

    Eclipse+Tomcat+环境配置

    在本文中,我们将详细介绍如何配置Eclipse集成开发环境(IDE)与Apache Tomcat服务器,以便进行JSP和Servlet的开发。我们将遵循以下步骤: **第一步:准备工具软件** 确保下载最新版本的软件: 1. Eclipse:这里是...

    serialVersionUID.txt

    三期第一张IO笔记 6

    Java序列化对象工具类 Eclipse工程(SerializUtil.zip)

    然而,需要注意的是,序列化可能导致安全问题,例如序列化后的对象可能会被恶意用户利用,因此在设计和使用时应考虑安全措施,如使用序列化权限策略文件(serialVersionUID)来限制可反序列化的类。

    eclipse配置struts

    本文将详细介绍如何在 Eclipse 开发环境中配置 Struts 框架,为初学者提供一个清晰的操作步骤指南。 #### 二、准备工作 在开始之前,请确保您的系统已经安装了 Eclipse IDE 和 JDK(Java Development Kit)。此外...

    java中的SuppressWarnings(xxx).doc

    在 Java 中,当一个类实现了java.io.Serializable接口时,编译器会提示一个黄色的警告,因为该类没有提供 serialVersionUID 字段。serialVersionUID 是一个私有静态常量,用于标识类的版本号。在序列化和反序列化...

    614.612.JAVA基础教程_IO流与网络编程-serialVersionUID的理解(614).rar

    `serialVersionUID`在Java序列化过程中起着关键作用。 首先,让我们来理解什么是IO流。IO流是Java中处理数据输入和输出的一种机制。Java提供了一整套类库来支持不同类型的流,包括字符流和字节流,它们分别处理文本...

    idea便捷配置.pdf

    5. 自动提示生成`serialVersionUID`:在实现Serializable接口的类中,IDEA默认不会像Eclipse那样自动提示生成`serialVersionUID`。通过`File` -> `Settings` -> `Editor` -> `Inspections`,找到“Serializable ...

Global site tag (gtag.js) - Google Analytics