A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

能举例说明在好不过了,都用在哪些地方,,,今天老师讲字符串时说道了这个词

4 个回复

正序浏览
本帖最后由 舞动的心弦 于 2012-2-25 22:53 编辑

什么是序列化  java中的序列化(serialization)机制能够将一个实例对象的状态信息写入到一个字节流中,使其可以通过socket进行传输、或者持久化存储到数据库或文件系统中;然后在需要的时候,可以根据字节流中的信息来重构一个相同的对象。序列化机制在java中有着广泛的应用,EJB、RMI等技术都是正确使用序列化机制
    一般而言,要使得一个类可以序列化,只需简单实现java.io.Serializable接口即可。该接口是一个标记式接口,它本身不包含任何内容,实现了该接口则表示这个类准备支持序列化的功能。如下例定义了类Person,并声明其可以序列化。以此为基础的。
       public class Person implements java.io.Serializable {}   
      
回复 使用道具 举报
嗯,懂了一点了
回复 使用道具 举报
序列化就是把对象变为二进制数据流的方法,序列化后很方便数据的传输和存储,由于序列化后都是二进制数据,所以将一些重要信息序列化后存到文件中可以保密。要想序列化就要先实现Java.io.Serizlizable接口,这个接口不含有方法只是一个标识。如果要完成对象的输入和输出还要用对象输出流(ObjectOutputStream)和对象输入流(ObjectInputStream),看个例子:
  1. import java.io.File ;
  2. import java.io.FileOutputStream ;
  3. import java.io.OutputStream ;
  4. import java.io.ObjectOutputStream ;
  5. public class SerDemo01{
  6.         public static void main(String args[]) throws Exception {
  7.                 File f = new File("D:" + File.separator + "test.txt") ;        // 定义保存路径
  8.                 ObjectOutputStream oos = null ;        // 声明对象输出流
  9.                 OutputStream out = new FileOutputStream(f) ;        // 文件输出流
  10.                 oos = new ObjectOutputStream(out) ;
  11.                 oos.writeObject(new Person("YYZ",22)) ;        // 保存对象
  12.                 oos.close() ;        // 关闭
  13.         }
  14. };
复制代码
运行后可以看到文件中是一堆乱码
回复 使用道具 举报
序列化就是一种操作,比如:当你需要将内存中的对象持久化存储到硬盘时,就需要序列化操作
下面这个例子就是把内存中的person对象持久化存储到硬盘中
  1. import java.io.Serializable;

  2. public class Person implements Serializable
  3. {
  4.         private String name;
  5.         private int age;
  6.        
  7.         public Person(String name,int age)
  8.         {
  9.                 this.name=name;
  10.                 this.age=age;
  11.         }
  12.        
  13.        
  14. }


  15. [code]import java.io.FileOutputStream;
  16. import java.io.IOException;
  17. import java.io.ObjectOutputStream;

  18. import com.sun.org.apache.bcel.internal.generic.NEW;

  19. public class serializableDemo {

  20.         /**
  21.          * @param args
  22.          */
  23.         public static void main(String[] args) {
  24.                 // TODO Auto-generated method stub
  25.                 WriteObject();
  26.         }

  27.         public static void WriteObject() throws IOException
  28.         {
  29.                 ObjectOutputStream ooStream=
  30.                         new ObjectOutputStream(new FileOutputStream("obj.txt"));
  31.                 ooStream.writeObject(new Person("zhangsan",18));
  32.                 ooStream.close();
  33.         }
  34. }
复制代码
[/code]
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马