- 浏览: 99311 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
xqxmh:
哈哈哈哈哈哈
12月编程语言榜单公布 C#等评级创新高 - CSDN新闻 -
niechanggang:
这个图片很是形象,linux也来祭奠了。。
【转】悼念一个伟大的公司——Sun - CSDN新闻
关键字: java serializablejava继承serislizable接口,简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。实现了Java对象的序列化。
在一下情况可以考虑使用序列化:
a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;
b)当你想用套接字在网络上传送对象的时候;
c)当你想通过RMI传输对象的时候;示例:
- public class Order implements java.io.Serializable {
- private Long id;
- private String code;
- private String name;
- }
public class Order implements java.io.Serializable { private Long id; private String code; private String name; }将order对象写入流中:
- public InputStream getOrderInfoAsStream(Order order) {
- InputStream ret = null;
- ByteArrayOutputStream baos = null;
- ObjectOutputStream ous = null;
- if (order == null) {
- return ret;
- }
- try {
- baos = new ByteArrayOutputStream();
- ous = new ObjectOutputStream(baos);
- ous.writeObject(order);
- ret = FileUtil.getInputStreamFromBytes(baos.toByteArray());
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- if (baos != null) {
- baos.close();
- }
- if (ous != null) {
- ous.close();
- }
- } catch (Exception e) {
- }
- }
- return ret;
- }
public InputStream getOrderInfoAsStream(Order order) { InputStream ret = null; ByteArrayOutputStream baos = null; ObjectOutputStream ous = null; if (order == null) { return ret; } try { baos = new ByteArrayOutputStream(); ous = new ObjectOutputStream(baos); ous.writeObject(order); ret = FileUtil.getInputStreamFromBytes(baos.toByteArray()); } catch (Exception e) { e.printStackTrace(); } finally { try { if (baos != null) { baos.close(); } if (ous != null) { ous.close(); } } catch (Exception e) { } } return ret; }将对象从流中读出:
- public Order getOrder(InputStream is) {
- Order ret = null;
- ObjectInputStream ois = null;
- try {
- if (is != null) {
- ois = new ObjectInputStream(is);
- ret = (Order) ois.readObject();
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- if (ois != null) {
- ois.close();
- }
- } catch (Exception e) {
- }
- }
- return ret;
- }
Java的Serializable处理 - 皇马啸西风的一亩三分地 - JavaEye技术网站
发表评论
-
数据库数据批量SQL导出工具
2011-07-04 16:05 1354好久没有完整的编码了,没有了code带来的乐趣,每天忙碌与b ... -
ultraedit 中中文乱码 的解决方法
2010-08-25 08:24 0ultraedit 中中文乱码 的解决方法 问题:同样的一个 ... -
was配置jms 进行mq的访问方法
2010-09-07 08:24 01、 软件准备,mq、was均安装完毕,此处使用的是mq ... -
db2 ERRORCODE=-4499, SQLSTATE=08001
2010-09-19 06:50 45541、 db2 ERRORCODE=-4499, SQLSTAT ... -
ultraedit 中中文乱码 的解决方法
2010-08-25 08:24 2339ultraedit 中中文乱码 的解决方法 问题:同样的一个 ... -
was配置jms 进行mq的访问方法
2010-09-07 08:24 15891、 软件准备,mq、was均安装完毕,此处使用的是mq ... -
Hibernate3.3使用手册下载chm版
2010-07-15 13:57 1034Hibernate3.3使用手册下载chm版,欢迎下载 -
利用P6SPY +SQL Profiler记录、统计web app对数据库的操作。 - 每日E读 - BlogJava
2010-07-13 05:14 930弄hibernate时,想显示 ... -
P6SPY结合SQL Profile进行数据库调优
2010-07-13 07:51 1059使用p6spy进行数据库操作执行时间的记录极大的方便了数据库程 ... -
设计模式学习笔记,不断更新中……
2010-06-21 03:05 7082010-6-21 设计模式不过是在编程过程中需要遵守的一些 ... -
java容器分类图
2010-05-29 03:07 1009做个笔记 -
关于Hibernate获取JDBC连接 直接执行SQL - 客观,辩证,务实,创新 - JavaEye技术网站
2010-06-09 07:58 1020关于Hibernate获取JDBC连接 直接执行SQL关 ... -
NIO入门pdf分享
2010-04-13 14:39 1173根据IBM developerwork上的教材整理的pdf文档 ... -
守护线程 - walkes - JavaEye技术网站
2010-04-08 01:51 637守护线程 关键字: 守护线程 守护线程是为其他线程的运 ... -
同步、异步、长连接、短连接
2010-04-08 02:24 1754四个概念对应于网络连 ... -
【转】GEF+EMF Step By Step (转) - 嘟嘟 - BlogJava
2010-04-06 04:55 867学习GEF的曲线还是比较陡峭的,建议按照以下步骤来学(要求先熟 ... -
Java 理论与实践: 使用通配符简化泛型使用
2010-04-07 06:37 596Java 理论与实践: 使用通配符简化泛型使用 理解通配 ... -
draw2d
2010-03-29 22:28 628draw2d,画图简单,n多东西的页面展示搞得我筋疲力尽,稳住 ... -
MQ大大降低了程序的耦合性
2010-03-25 03:20 690通过同一个MQ队列的消息读取,可以将不同的程序模块联系起来,大 ... -
关于strtus2上传文件的问题
2010-03-17 06:26 7741、 strtus2在上传文件时,同样将java.io.Fil ...
相关推荐
java->serializable深入了解 java->serializable深入了解 java->serializable深入了解
java 序列化 对象 Serializable 写着玩的Demo 简单 实用
3. 错误处理:提供异常处理机制,当遇到无法序列化或反序列化的值时,能够优雅地处理错误。 4. 性能优化:通过高效的算法和策略,减少序列化和反序列化的时间开销。 5. 安全性增强:可能包括对敏感数据的加密处理,...
Java的序列化与反序列化是Java开发中的一项重要技术,它允许我们将对象的状态转换为字节流,以便存储或在网络上传输。`Serializable`接口是Java提供的一个标记接口,用于实现对象的序列化。当一个类实现了这个接口,...
在这个“java输入输出--java实例17例”中,我们可以期待学习到一系列关于Java I/O的实用示例代码。 1. **基础流与缓冲流**:Java的基础流包括字符流(Reader和Writer)和字节流(InputStream和OutputStream),它们...
1. 将`mysql-connector-java-8.0.26.jar`文件添加到项目的类路径中,或者如果你使用的是Maven或Gradle,可以在pom.xml或build.gradle文件中添加相应的依赖。 2. 创建数据库连接,例如: ```java import java.sql....
### Java Serializable(序列化)的理解和总结 #### 一、序列化的定义与目的 序列化是一种将对象的状态转换为可以存储或传输的形式的过程。在Java中,如果一个类实现了`Serializable`接口,那么该类的对象就可以被...
Java Bean是一种特殊的Java类,它遵循特定的编程和设计规范,主要用于组件开发,尤其是在Java Swing图形用户界面(GUI)中。这些组件可以被其他Java应用程序重用,增强了代码的可复用性和互操作性。在给定的"java-...
MySQL是一个广泛应用的关系型数据库管理系统,而Java是一种广泛用于开发后端服务的编程语言。当我们在用Java处理数据库相关业务时,经常需要将MySQL数据库中的表结构映射到Java对象,即实体类(Entity Class),以便...
Java语言是一种广泛应用于开发各种类型软件的面向对象的编程语言,尤其在企业级应用和Web应用领域中占有重要地位。本通讯录源代码是利用Java语言实现的一个实用工具,旨在帮助用户管理和查找联系人信息。下面我们将...
Java安全领域中的反序列化漏洞是一个重要的议题,它涉及的是将对象从二进制数据恢复为程序可以理解的形式时可能存在的安全隐患。反序列化是序列化过程的逆向操作,序列化是将对象的状态转换为可存储或可传输的数据...
### Java IO概述 Java IO(Input/Output)是Java编程...随着技术的发展,Java IO也在不断地演进和完善,例如NIO(New IO)和AIO(Asynchronous IO)等新技术的引入,使得Java IO能够更好地适应现代高性能计算的需求。
根据给定文件的信息,我们可以提炼出以下与Java面试相关的知识点: ### 1. 浮点类型赋值 在Java中,对于浮点类型的赋值,需要注意类型匹配问题。例如: - `float f = 3.4` 这样的写法是不正确的,因为3.4默认为`...
在本项目中,"基于Java的P2P--多用户在线聊天室"是一个实现多人实时通信的系统,它利用了Java编程语言的强大功能以及P2P(对等网络)架构来构建。P2P网络是一种分布式网络模型,其中每个参与者(节点)既是服务消费...
《ON JAVA中文版-精读PPT》是一个深入解析Java编程语言的资源,它通过精心设计的PPT形式,提炼了书籍中的核心知识点,旨在帮助读者高效地理解和掌握Java编程技术。作为一款软件/插件学习资料,这个PPT涵盖了Java语言...
MySQL Connector/J 8.0.21 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了JDBC(Java Database Connectivity)接口的驱动程序,允许Java开发者在应用中无缝地连接到MySQL数据库服务器。这个驱动包是...
MySQL Connector/J 8.0.16 是 MySQL 数据库与 Java 应用程序之间的关键桥梁,它是一...通过这个压缩包提供的 `mysql-connector-java-8.0.16.jar` 文件,你可以轻松地将其集成到你的项目中,享受最新的 MySQL 连接功能。
- 调用`ObjectOutputStream.writeObject()`:通过`ObjectOutputStream`的`writeObject()`方法将对象写入输出流,这个过程会递归地处理对象的所有属性,包括引用的对象。 - 写入`serialVersionUID`:在序列化过程中...
### Java.io.Serializable 序列化问题详解 #### 一、序列化的概念与作用 在 Java 编程语言中,序列化是一种将对象的状态(即成员变量的值)转换为可以存储或传输的形式的过程。通常,这种形式是字节流,但也可以是...
Java中的Serializable接口是java.io包中定义的,用于实现Java类的序列化操作而提供的一个语义级别的接口。Serializable序列化接口没有任何方法或者字段,只是用于标识可序列化的语义。实现了Serializable接口的类...