什么是Java序列化?如何實現序列化?


 

 一、什么是序列化: 序列化理解成“打碎”是可以的,不過在書本上的名詞就是將對象轉換成二進制。    

二、在java中如何實現序列化: 首先我們要把准備要序列化類,實現 Serializabel接口 例如:我們要Person類里的name和age都序列化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import  java.io.Serializable; 
public  class  Person  implements  Serializable {
     //本類可以序列化
     private  String name ; 
     private  int  age ;
     public  Person(String name, int  age)
    
         this .name = name ;  this .age = age ;
    
     public  String toString()
     {
         return  "姓名:"  this .name +  ",年齡"  this .age ;
    
}

 然后:我們將name和age序列化(也就是把這2個對象轉為二進制,統族理解為“打碎”)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package  org.lxh.SerDemo; 
import  java.io.File;
import  java.io.FileOutputStream; 
import  java.io.ObjectOutputStream ;
public  class  ObjectOutputStreamDemo
{
     //序列化 
     public  static  void  main(String[] args)  throws  Exception 
     {
         //序列化后生成指定文件路徑 
         File file =  new  File( "D:"  + File.separator +  "person.ser" ) ;
         ObjectOutputStream oos =  null  ;
         //裝飾流(流)
         oos =  new  ObjectOutputStream( new  FileOutputStream(file)) ; 
         //實例化類 
         Person per =  new  Person( "張三" , 30 ) ;
         oos.writeObject(per) ;
         //把類對象序列化
         oos.close() ;
    
}

 序列化是將對象狀態轉換為可保持或傳輸的格式的過程。說明白點就是你可以用對象輸出流輸出到文件.如果不序列化輸出的話.很可能會亂!

 實現方式是實現java.io.Serializable接口.這個接口不需要實現任何具體方法.只要implements java.io.Serializable 就好了

 

java中的序列化機制能夠將一個實例對象(只序列化對象的屬性值,而不會去序列化什么所謂的方法。)的狀態信息寫入到一個字節流中使其可以通過socket進行傳輸、或者持久化到存儲數據庫或文件系統中;然后在需要的時候通過字節流中的信息來重構一個相同的對象。

一般而言,要使得一個類可以序列化,只需簡單實現java.io.Serializable接口即可。

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM