实验的准备就是一个可以序列化的类:

class Abean implements Serializable {
  private static final long  serialVersionUID = -4903107312403938616L;
  
  
}

成员变量定义成字符型,是为了查看文件方便。需要注意的就是必须实现Serializable接口,否则直接exception了。

实验代码如下:

FileOutputStream fos = new FileOutputStream("ff");
   ObjectOutputStream oos = new ObjectOutputStream(fos);
   Abean aa = new Abean();
  
  
  for (int i = 0; i < 10; i++) {
      
      
//    oos.reset();
  
  
   FileInputStream fis = new FileInputStream("ff");
   ObjectInputStream ois = new ObjectInputStream(fis);
  for (int i = 0; i < 10; i++) {
      
       System.out.printf("%s\t%s\n", d.aa, d.bb);

测试代码也同样简单,通过控制其中一行来查看前后的区别。

  

  

for (int i = 0; i < 10; i++) {
       Abean aa = new Abean();
      
      
      
      
//    oos.reset();

  

表:各个实验中生成文件大小的对比


实验

文件大小(字节)

不reset,只new一次

172

每次rest, 只new一次

794

不reset,每次new

271

每次reset,每次new

794