1.什么是序列化
序列化:将对象转换成能被保存或传输的格式(字节序列)的过程
反序列化:将字节序列还原成对象的过程
2.序列化的作用
(1)服务器会把内存中空闲的对象存贮在硬盘中(持久化的过程)
(2)分布式环境下的对象传递(远程控制接口RMI)
例如:windwos系统向Linux传递对象
3.如何使用序列化
java的序列化API
ObjectOutputStream 对象输出流 ObjectinputStream 对象输入流
案例一:序列化对象到硬盘中
问题一:什么样的类才能被序列化?
只有实现了Serializable接口的类才能被序列化
问题二:对象的哪些信息被序列化到文件中了呢?
只会序列化对象的属性以及属性的值!
而不会去序列化对象的方法!
问题三:是否所有的属性都会被序列化呢?
不会序列化transient属性和静态属性!
问题四:当对象中包含其他对象时,他们也会一起被序列化吗?
一个对象要被序列化必须将它所关联的所有对象实现序列化!
问题五:反序列化会调用类的构造方法吗?
不会!因为构造方法的作用主要是用来初始化对象。
而序列化后整个对象的信息已经被保存在内存当中了,
所以反序列化不会调用构造方法!
案例二: 通过socket套接字传递对象
SerializeVersionUID 序列化版本标识符
分享到:
相关推荐
SSH服务端通常由一个SSH服务器软件如OpenSSH来提供,但在Android上,可能需要借助于如SSHDroid或Termux + OpenSSH这样的第三方应用。这些应用会在Android设备上启动一个SSH服务,允许远程用户通过SSH协议进行连接。...
4. **上传下载**:在Java Web应用中,文件上传和下载功能通常由第三方库实现,如Apache的Commons FileUpload库处理文件上传,处理多部分请求,而文件下载可能涉及到HTTP响应的设置,如设置Content-Disposition头来...
5. **JSON的jar包**:在提供的压缩包中包含的JSON的jar包可能是Jackson、Gson或其他JSON库的实现,这些库可以帮助开发者在Java项目中处理JSON序列化和反序列化。 6. **安全注意事项**:在使用JSON传输敏感数据时,...
- JSON数据的序列化和反序列化,以及与服务器的交互逻辑。 - 服务器端的处理,可能使用Java或其他语言,与SSH和ExtJS前端进行通信。 总的来说,这个压缩包提供了一个结合SSH安全连接和ExtJS富客户端特性的Web应用...
总的来说,SSH框架整合时的jar包管理是一项基础但重要的工作,它涉及到Struts2、Spring和Hibernate的各个组件,以及它们依赖的各种第三方库。理解每个jar包的作用和功能,正确配置它们,是成功搭建SSH框架的关键。...
- **Hibernate**:Hibernate是一个对象关系映射(ORM)框架,它提供了数据持久化的解决方案。通过Hibernate,可以将Java对象映射到关系型数据库中的表,简化了数据库操作,并使得数据库操作更加面向对象。 #### 3. ...
第3章 01 网络基础和dos命令 02 为何学习linux 03 课程内容介绍 04 操作系统内核与系统调用 05 操作系统安装原理 06 linux操作系统安装 07 初识linux命令 08 linux操作系统目录结构 09 目录及文件操作 第4章 01 ...
当我们在IDEA中创建一个SSH项目时,会需要引入SSH框架各自的jar包,以及其他如数据库驱动、日志框架等第三方库。这些库文件使得项目能够调用到丰富的功能,无需从零开始编写所有底层实现。 Struts2作为MVC框架,...
- **第三步: 配置文件和映射文件**: 创建Hibernate配置文件(hibernate.cfg.xml)和映射文件(.hbm.xml),定义类与数据库表之间的映射关系。 - **第四步: 测试**: 编写测试代码来验证配置的正确性。 - **对象-关系...
- JSON解析库:如json-lib或Jackson(json-simple、jackson-databind等),用于JSON数据的序列化和反序列化。 整合SSH时,除了添加正确的JAR文件,还需要在Web.xml和 strut.xml、spring.xml等配置文件中进行相应的...
请求中携带的JSON数据需要先通过Gson、Jackson等库将Java对象序列化为JSON字符串。接收到服务器响应后,再反序列化为Java对象以便处理。 3.4 数据安全与SSHSSH(Secure Shell)协议提供了一种安全的网络通信通道,...
- **json-lib-2.3-jdk15.jar** 和 **json.jar**:这两个文件都与JSON(JavaScript Object Notation)处理有关,可能用于数据交换和序列化。 - **jotm.jar**:这是一个开源的JTA(Java Transaction API)实现,用于...
在Android客户端和服务器端之间,Json被用作数据传输的载体,用于序列化和反序列化Java对象,以便在网络中传输。 3. **Android客户端开发**: - 使用Android SDK和Java语言进行开发,创建用户界面和处理业务逻辑。...
9. **xstream-1.2.2.jar**:XStream是一个用于XML和Java对象之间的序列化和反序列化的库,方便数据交换和存储。 这些jar包组合在一起,构成了一个支持SSH2连接、数据库操作(包括SQL Server和MySQL)、Web交互(DWR...
此外,还有一些其他常见的库,如Apache Commons、Log4j、JSON库(如Jackson或Gson)等,用于提供实用工具函数、日志记录和数据序列化。 SSH框架的每个部分也有其特定的JAR包需求: 1. Struts:作为MVC框架,Struts...
3. 第三阶段,SSH框架技术,主要学习Struts2、Hibernate、Spring三大主流Java框架,理解其工作原理并进行整合,为实际项目开发做好准备。 4. 第四阶段,项目实战,学员将在合作软件公司的技术指导下参与真实商业...
3. **SSH框架集成Redis**:SSH是Java Web开发中常用的MVC架构,整合Redis需要配置Spring、Struts和Hibernate的相关配置文件,包括Redis的连接池、序列化方式、缓存策略等。 4. **Spring与Redis集成**:Spring提供了...
第3章 Hadoop分布式文件系统 HDFS的设计 HDFS的概念 数据块 namenode和datanode 命令行接口 基本文件系统操作 Hadoop文件系统 接口 Java接口 从Hadoop URL中读取数据 通过FileSystem API读取...
第3章 Hadoop分布式文件系统 HDFS的设计 HDFS的概念 数据块 namenode和datanode 命令行接口 基本文件系统操作 Hadoop文件系统 接口 Java接口 从Hadoop URL中读取数据 通过FileSystem API读取数据 写入数据 目录 查询...