`
cs_css
  • 浏览: 83958 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于javabean显式UID的作用

    博客分类:
  • java
阅读更多


如果一个javabean实现了Serializable接口,那么它可以实现序列化,也就有了网络传输、本地存储等功能。在这个类中经常会看到一个SerialVersionUID,它的作用是这样的:

首先,实现序列化的类中如果没有显式声明SerialVersionUID,这个类在编译时,编译器会生成一个唯一的,隐式的UID,这个UID是由很多因素决定的,包括类的非私有方法和属性等,那么当这个类做了一些改动,比如说增加了一个属性,那么再次编译时,隐式UID会改变。也就是说,隐式的UID标示了类的一个版本。在数据传输过程中,JVM在反序列化操作时,如果发现反序列化的类的隐式UID和数据流中的类隐式UID不同,会认为这个类版本发生了改变,将抛出InvalidClassException异常。

那么,如果一个类的改动并不大,但仍然想正常地进行反序列化,该如何呢?答案是显示地规定一个SerialVersionUID,当类做了改动,但SerialVersionUID不变,JVM在反序列化时,会认为数据流中的类和本地的这个类仍属于同一版本,那么反序列化是可以进行的,这样会增加程序的健壮性。

所以,当一个类实现了序列化接口时,最好显式地声明一个UID,这样可以避免一些不必要的问题。

分享到:
评论

相关推荐

    JavaBean的作用域.doc

    Application作用域的JavaBean在整个Web应用程序的生命周期内都有效,直到服务器关闭或显式销毁。这种作用域的JavaBean在整个应用中只实例化一次,因此应谨慎使用,因为它可能占用大量系统资源,并可能导致全局状态...

    JavaBean四个作用域范围的详解

    JavaBean四个作用域范围的详解 JavaBean是一种特殊的Java类,遵循JavaBean架构规范,具有 getter 和 setter 方法,可以在JSP页面中使用useBean标签来实例化JavaBean对象,并通过scope属性指定JavaBean的作用域范围...

    JAVABEAN

    JavaBean是一种特殊的Java类,它是Java编程语言中的一个核心概念,尤其在开发企业级应用程序时极为常见。JavaBean遵循特定的规范,使它们能够被其他Java应用或开发工具(如IDEs)识别、可视化和操作。JavaBean的主要...

    JSP课件-javabean的使用教程

    在提供的课件中,有三个关于JavaBean的PPT文件: 1. **第五章 JavaBean1.ppt**:可能涵盖了JavaBean的基本概念、创建过程和基本操作。 2. **第五章 JavaBean3.ppt**:可能深入讲解了JavaBean的属性、方法以及在JSP中...

    JavaBean_Javabean增删改查_audiencevu9_

    JavaBean是Java编程中的一种重要概念,主要用于封装数据和业务逻辑,它遵循一定的规范,使得Java对象能够被方便地在Web应用中使用,特别是在Servlet和JSP之间传递数据。在这个项目"JavaBean_Javabean增删改查_...

    javabean 学习(适合初学者)

    #### 三、JavaBean 的作用 1. **简化开发**:通过提供预定义的行为和属性,JavaBean 可以帮助开发者快速构建功能模块。 2. **提高代码质量**:良好的封装性和模块化特性使得 JavaBean 能够降低系统复杂度,提高代码...

    SqlToJavaBean_javabean_根据表结构生成javabean_生成javabean_

    在数据库操作中,将SQL查询结果映射到Java对象是常见的需求,这时JavaBean的作用就显现出来了。"SqlToJavaBean_javabean_根据表结构生成javabean_生成javabean_"这个标题暗示了一个工具或库,它能够自动化地根据...

    jsp调用javabean的问题

    这里的`id`属性定义了JavaBean在页面作用域内的引用名,`class`属性指定了JavaBean的全限定类名,`scope`属性定义了JavaBean的作用范围,可以是page、request、session或application。 当JSP遇到`<jsp:useBean>`...

    JavaBean示例

    JavaBean是Java编程语言中的一种特定类,遵循特定的规范,用于封装数据并提供属性访问。这个"JavaBean示例"旨在帮助初学者理解和使用JavaBean。JavaBean主要用于构建Java应用程序的可重用组件,特别是在JavaServer ...

    简单身份验证JAVABEAN的设计

    简单身份验证 JAVABEAN 的设计 JavaBean 是 Java 语言中的一种组件模型,用于封装业务逻辑、数据和表现层逻辑。 JavaBean 可以在支持 Java 的任何平台下工作,而不需要重新编译。传统意义上的 JavaBean 支持的组件...

    jsp中javabean的用法

    这是关于javabean的一个小程序,可以帮助大家了解javabean中的一些最基本的语法,同时运用了html标记,可以利用IE浏览器去运行一下,看一下效果,如果有不明白的可以找我哦!!

    JavaBean技术应用实现购物车

    "JavaBean技术应用实现购物车" JavaBean是一种特殊的Java类,它遵循JavaBean的命名约定和设计模式,主要用于封装和 Exposure 数据。JavaBean技术广泛应用于Web应用开发,特别是在购物车系统中,JavaBean技术可以...

    javabean留言小项目

    在这个"javabean留言小项目"中,我们可以深入理解JavaBean的基本概念、作用以及如何在实际项目中应用。 1. **JavaBean规范** - **可见性**:JavaBean中的属性通常为私有(private),通过公共(public)的getter和...

    JavaBean组件程序设计

    以下是关于JavaBean组件程序设计的详细知识点: 1. **JavaBean规范**: - **可见性**:JavaBean通常使用公共属性和方法,属性通过getter和setter方法进行访问。 - **无参数构造器**:JavaBean需要有一个无参数的...

    JavaBean教程

    javaBean是使用Java语言描述的软件组件...非可视化组件是在实际开发中经常被使用到的并且在应用程序中起着至关重要的作用。其主要功能是用来封装业务逻辑(功能实现)、数据库操作(例如,数据处理、连接数据库)等。

    javabean(DB)

    JavaBean是一种在Java编程语言中编写可重用组件的标准。它是Java类库的一部分,主要用于封装数据和业务逻辑,便于在Web应用、企业级应用或任何Java应用中进行数据表示和交换。JavaBean遵循一定的规范,使得它们易于...

    JavaBean技术

    JavaBean在JSP中的作用域非常重要,它决定了JavaBean的生命周期以及在不同请求之间的共享情况。 - **page**: JavaBean仅在当前JSP页面有效。 - **request**: JavaBean在整个HTTP请求过程中有效。 - **session**: ...

    javaBean简介.doc

    【JavaBean 简介】 JavaBean 是 Java 编程语言中的一种特殊类,它遵循特定的编程规范,主要用于封装数据和实现业务逻辑。在MVC(Model-View-Controller)设计模式中,JavaBean 作为 Model 层,是应用程序的数据载体...

    JSP&javaBean写的简单用户验证

    4. **验证逻辑**:这是JavaBean的核心作用所在。在JavaBean中,可能会有一个`validate()`方法,用于比较存储的用户名和密码与数据库中的信息。如果验证成功,用户会被视为已登录;反之,会显示错误消息。 5. **反馈...

Global site tag (gtag.js) - Google Analytics