深入探索Java对象的序列化
对象序列化就是把对象写入到输出流中,用来存储或者传输。
对象的反序列化就是从输入流中读取对象。
要序列化的对象应该实现Serializable接口。
Serializable接口是一个标识接口,没有抽象方法。
Serializable有一个子接口Externalizable,实现Externalizable接口的类可以自行控制对象序列化荷反序列化过程。
一般来说,没有必要自己实现序列化接口,直接交给Java虚拟机是上策。
实现了序列化接口的类,如果其成员不需要序列化进去,则使用transient关键字进行修饰。
下面给出个例子:
import java.io.*;
/**
* Java对象的序列化测试
* File: ObjectStreamTest.java
* User: leizhimin
* Date: 2008-3-12 20:41:43
*/
public class ObjectStreamTest {
public static void main(String args[]) {
testObjectSeri();
testObjectInSeri();
}
/**
* 对象序列化测试
*/
public static void testObjectSeri() {
Person person = new Person("熔岩", "341022225562156", "lavasoft");
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputSt
相关文档:
最近在学JAVA,练习的时候遇到个问题,请大家帮忙看看……
主要问题是,在JSP中没有办法导入我想用的类,明明导入了包,却报:MyDAO cannot be resolved to a type
JSP代码:
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.util.Date"%>
<%@ page import="java.t ......
本文为原创,如需转载,请注明作者和出处,谢谢!
缩放图像的基本原理是创建一个目标大小的画布,然后读取源图像,并将该图像绘制这个画布上。为了使程序通用,源图像和缩放后的目标图像应用分别使用 InputStream和OutputStream来表示,代码如下:
public stat ......
客户端:
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.awt.*;
public class ClientPoint extends JFrame implements ActionListener,KeyListener{
static int SERVERPORT=8088;
sta ......
Java通过java.lang.Thread类完成多线程。我们通过同一个例子,看线程的两种创建方法,以及运行方法:
(1)一种是声明 Thread 的子类,重载 Thread 类的方法 run(Extend java.lang.Thread and override the run method)
public class MyThread extends Thread
{
&nb ......