欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

java的序列化怎么實現(xiàn)

本篇文章為大家展示了java的序列化怎么實現(xiàn),代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的奎文網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

簡要解釋:

序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內(nèi)容進行流化。可以對流化后的對象進行讀寫操作,也可將流化后的對象傳輸于網(wǎng)絡之間。

序列化是為了解決在對對象流進行讀寫操作時所引發(fā)的問題。序列化的實現(xiàn):將需要被序列化的類實現(xiàn)Serializable接口,該接口沒有需要實現(xiàn)的方法,implements Serializable只是為了標注該對象是可被序列化的,然后使用一個輸出流(如:FileOutputStream)來構(gòu)造一個ObjectOutputStream(對象流)對象,接著,使用ObjectOutputStream對象的writeObject(Object obj)方法就可以將參數(shù)為obj的對象寫出(即保存其狀態(tài)),要恢復的話則用輸入流。

詳細解釋:

當兩個進程在進行遠程通信時,彼此可以發(fā)送各種類型的數(shù)據(jù)。無論是何種類型的數(shù)據(jù),都會以二進制序列的形式在網(wǎng)絡上傳送。發(fā)送方需要把這個Java對象轉(zhuǎn)換為字節(jié)序列,才能在網(wǎng)絡上傳送;接收方則需要把字節(jié)序列再恢復為Java對象。

只能將支持 java.io.Serializable 接口的對象寫入流中。每個 serializable 對象的類都被編碼,編碼內(nèi)容包括類名和類簽名、對象的字段值和數(shù)組值,以及從初始對象中引用的其他所有對象的閉包。

1.概念

序列化:把Java對象轉(zhuǎn)換為字節(jié)序列的過程。

反序列化:把字節(jié)序列恢復為Java對象的過程。

2.用途

對象的序列化主要有兩種用途:

(1)把對象的字節(jié)序列永久地保存到硬盤上,通常存放在一個文件中;

(2)在網(wǎng)絡上傳送對象的字節(jié)序列。

3.對象序列化

序列化API

java.io.ObjectOutputStream代表對象輸出流,它的writeObject(Object obj)方法可對參數(shù)指定的obj對象進行序列化,把得到的字節(jié)序列寫到一個目標輸出流中。只有實現(xiàn)了Serializable和Externalizable接口的類的對象才能被序列化。

java.io.ObjectInputStream代表對象輸入流,它的readObject()方法從一個源輸入流中讀取字節(jié)序列,再把它們反序列化為一個對象,并將其返回。

代碼示例

import java.io.*;
import java.util.Date;

public class ObjectSaver {
   public static void main(String[] args) throws Exception {
        /*其中的  D:\\objectFile.obj 表示存放序列化對象的文件*/

        
        //序列化對象
         ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("D:\\objectFile.obj"));
         Customer customer = new Customer("王麻子", 24);    
         out.writeObject("你好!");    //寫入字面值常量
         out.writeObject(new Date());    //寫入匿名Date對象
         out.writeObject(customer);    //寫入customer對象
         out.close(); 
         
         //反序列化對象
         ObjectInputStream in = new ObjectInputStream(new FileInputStream("D:\\objectFile.obj"));
         System.out.println("obj1 " + (String) in.readObject());    //讀取字面值常量
         System.out.println("obj2 " + (Date) in.readObject());    //讀取匿名Date對象
         Customer obj3 = (Customer) in.readObject();    //讀取customer對象
         System.out.println("obj3 " + obj3);
         in.close();
     }
 }
 
 class Customer implements Serializable {
     private String name;
     private int age;
     public Customer(String name, int age) {
         this.name = name;
         this.age = age;
     }
 
     public String toString() {
         return "name=" + name + ", age=" + age;
     }
 }

4.說明

讀取對象的順序與寫入時的順序要一致。

對象的默認序列化機制寫入的內(nèi)容是:對象的類,類簽名,以及非瞬態(tài)和非靜態(tài)字段的值。

上述內(nèi)容就是java的序列化怎么實現(xiàn),你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享標題:java的序列化怎么實現(xiàn)
分享地址:http://aaarwkj.com/article28/jeiijp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App設計、全網(wǎng)營銷推廣、品牌網(wǎng)站設計、網(wǎng)頁設計公司手機網(wǎng)站建設、網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
国产极品美女视频福利| 欧美日韩综合在线第一页| 一区二区在线视频免费播放| 人人妻人人澡人人爽老妇| 天天干天天干夜夜操| 97国产超碰在线观看| 天堂中文在线免费观看av| 日本不卡在线观看欧美精品| 午夜福利视频一区久久久| 麻豆久久精品国产亚洲精品超碰热| 日本黄色美女日本黄色| 亚洲av在线视频免费播放| 看夫妻性生活免费视频| 亚洲黄色av一区二区三区| 久久综合激情亚洲欧美专区| 国产手机在线91精品观看| 日本美女阴部毛茸茸视频| 亚洲国产午夜福利在线69| 99热这里只有精品中文有码| 国内不卡一区二区三区| 亚洲国产日韩精品自拍av| 亚洲不卡免费在线视频| 中文字幕乱码亚州精品一区| 日韩熟女人妻一区二区| 中文字幕有码精品在线| 啄木乌法国一区二区三区| 精品在线免费视频观看| 亚洲精品天堂av免费看| 白虎亚洲福利精品一区| 亚洲成人不卡一区二区三区| 久久国产精品必看狼人| 久激情内射婷内射蜜桃| 色哟哟哟哟免费观看视频| 久久精品国产亚洲av品| 在线免费观看视频97| 亚洲精品91在线中文字幕| 国产 亚洲 一区 二区| 国产一区二区三区的网站| 国产亚洲av麻豆精品推荐| 高清偷自拍亚洲精品三区| 欧美精品在线观看不卡一区|