序列化实现“轻量级的persistence”
主要是用于两方面:
1. RMI,远程传递对象
2. JavaBean,Bean的状态信息通常是在设计时配置的。这些状态信息必须保存起来,供程序启动的时候用。
Java中实现序列化,只要implements接口即可,代码如下:
package mySerializable;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class MakeObjectFile implements Serializable {
private String str = new String();
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public static void main(String[] args) {
try {
/*创建输出流*/
FileOutputStream objFile = new FileOutputStream("makeobj.obj");
ObjectOutputStream p = new ObjectOutputStream(objFile);
/*创建一个MakeObjectFile对象*/
MakeObjectFile mof = new MakeObjectFile();
mof.setStr("XiaoXiao");
p.writeObject(mof);
p.flush();
objFile.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
上述代码实现了对MakeObjectFile类的对象的序列化,并将序列化后的byte流保存在makeobj.obj文件中。
下面读取:makeobj.obj文件中的字节流读出,然后还原成对象,并调用其方法获得输出,代码如下:
package mySerializable;
import java.io.FileInputStream;
import java.io.ObjectInputStream;
public class OpenObjectFile {
public static void main(String[] args) {
try {
/*创建输出流*/
FileInputStream objFile = new FileInputStream("makeobj.obj");
ObjectInputStream q = new ObjectInputStream(objFile);
MakeObjectFile mof = (MakeObjectFile) q.readObject();
System.out.println(mof.getStr());
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
Java序列化是Java平台提供的一种将对象转换为字节流,以便存储到磁盘、数据库或网络中的机制。它是Java语言内置的一种特性,主要用于持久化数据,也可以在进程间传递对象,或者在网络上传输对象。在Java中,如果一个...
在`JAXBDemo`这个例子中,可能包含了创建Java类、定义XML映射,以及使用Unmarshaller和Marshaller进行序列化和反序列化的代码。这为我们提供了一个直观的学习机会,了解如何在实际项目中应用JAXB。 通过学习这个...
在这个例子中,`Person`类实现了`Serializable`接口,然后我们创建了一个`Person`对象并将其序列化到文件`person.ser`。接着,我们反序列化这个文件,恢复了原始的`Person`对象,并打印出其属性。 总结,Java对象的...
Java序列化是Java平台中的一种核心机制,它允许对象的状态被转换成字节流,以便存储到磁盘、数据库,或者在网络中进行传输。这对于实现持久化、远程方法调用(RMI)以及Enterprise JavaBeans(EJB)等高级功能至关...
Java对象序列化是一种将Java对象转换为字节流的过程,以便可以存储在磁盘上、在网络上传输或在任何其他需要持久化数据的场景中使用。这个过程涉及到两个主要概念:序列化(Marshalling)和反序列化(Unmarshalling)...
至于“图文”标签,这可能意味着例子中包含图片来辅助解释序列化和反序列化的过程。这些图片可能会展示内存中的对象结构以及序列化后的字节流表示,帮助初学者更好地理解这两个概念。 此外,“Serialize Image”...
Java序列化机制的优点在于它提供了一种标准的方式来处理对象的持久化和在网络间的传输。然而,序列化也存在安全风险,比如序列化可能导致远程代码执行攻击。因此,对于敏感信息或复杂对象结构,应谨慎使用序列化,并...
### Java序列化原理与算法详解 #### 序言 在现代软件开发中,尤其是在网络通信和数据持久化领域,对象的序列化与反序列化扮演着至关重要的角色。Java作为一种广泛应用的编程语言,提供了强大的内置支持来实现序列化...
Java中的序列化机制有两种实现方式: 一种是实现Serializable接口 另一种是实现Externalizable接口 区别: 实现Serializable接口 1 系统自动储存必要的信息 2 Java内建支持,易于实现,只需实现该接口即可,无须任何...
5. **序列化框架**:除了标准的Java序列化机制,还有许多高级的序列化库,如Jackson、Gson、protobuf等,它们提供了更灵活的配置和更好的性能。 在实际项目中,理解并熟练掌握序列化和反序列化对于开发高效、安全的...
本示例旨在教你如何在Java中实现自定义的序列化和反序列化过程。让我们深入探讨这两个概念。 **序列化:** 序列化是将对象的状态转化为可存储或可传输的格式的过程。在Java中,如果你想要一个对象能够被序列化,...
### Java序列化的机制和原理 #### 一、序列化与反序列化概念 在Java中,序列化(Serialization)指的是将对象的状态信息转换为可以存储或传输的形式的过程。通常,对象的状态信息会被转换成一系列的字节,这些字节...
下面,我们来看一个简单的Java序列化与反序列化的例子: ```java import java.io.*; class User implements Serializable { private String name; private int age; public User(String name, int age) { ...
在Java编程语言中,对象的序列化和反序列化是两个关键的概念,它们对于数据存储、网络传输以及持久化有着重要的作用。这篇文章将深入探讨这两个主题,并通过实践例子来阐述其工作原理。 **序列化(Serialization)*...
java序列化与反序列化,且支持转化为16进制存储,一个简单的例子
### Java中的序列化与反序列化详解 #### 一、概念理解 在Java中,序列化(Serialization)指的是将对象的状态转化为字节流的过程,这一过程通常用于存储对象或者在网络中传输对象。相反地,反序列化...
本示例“android webservice 对象序列化例子”关注的就是如何在Android应用中处理这一过程。 **对象序列化** 是将Java对象转换为可以存储或传输的数据格式的过程。在Android中,这通常是将对象转换为XML或JSON字符...
Java序列化是Java平台中的一种持久化机制,它允许对象的状态被转换成字节流,以便存储或在网络中传输。这个过程称为序列化,而将字节流还原为对象的过程称为反序列化。序列化在许多场景下都非常有用,比如在分布式...
Java SE编程入门教程 java序列化(共14页).pptx Java SE编程入门教程 java异常(共57页).pptx Java SE编程入门教程 java正则(共8页).pptx Java SE编程入门教程 properties(共3页).pptx Java SE编程入门教程 ...
Java原生序列化是Java平台内置的一种对象持久化机制,它允许将对象的状态转换为字节流,以便存储到磁盘、数据库或通过网络传输。反序列化则是将这些字节流恢复为原来的对象状态。这个过程对于数据持久化、跨网络传输...