程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java序列化之Serializable,序列化serializable

Java序列化之Serializable,序列化serializable

編輯:JAVA綜合教程

Java序列化之Serializable,序列化serializable


Java的序列化流程如下:

 

Java的反序列化流程如下:

注意:並不是所有類都需要進行序列化,主要原因有兩個

1)安全問題。Java中有的類屬於敏感類,此類的對象數據不便對外公開,而序列化的對象數據很容易進行破解,無法保證其數據的安全性,因此一般這種類型的對象不會進行序列化。

2)資源問題。可以使用序列化字節流創建對象,而且這種創建時不受限制的,有時過多地創建對象會造成很大的資源問題,因此此類對象也不適宜進行序列化。

 

Serializable

Serializable是Java提供的一個序列化接口,它是一個空接口,專門為對象提供標准的序列化跟反序列化操作。

 

序列化過程:

1 Person p = new Person("name","id");
2         File file = new File("cache.txt");
3         FileOutputStream output = new FileOutputStream(file);
4         ObjectOutputStream objectOutputStream = new ObjectOutputStream(output);
5         objectOutputStream.writeObject(p);
6         output.close();
7         objectOutputStream.close();

反序列化過程:

1      File file = new File("cache.txt");
2         FileInputStream input= new FileInputStream(file);
3         ObjectInputStream objectInputStream = new ObjectInputStream(input);
4         Person p = (Person)objectInputStream.readObject();
5         System.out.println(p.getName()+"---"+p.getId());
6         input.close();
7         objectInputStream.close();

 

 

  • 需要序列化的類成員
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved