欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java序列化和java反序列化示例

 更新時(shí)間:2014年01月12日 09:57:01   作者:  
在web項(xiàng)目開發(fā)的時(shí)候,經(jīng)常用到序列化和反序列化用來傳遞大流量的數(shù)據(jù),類只有實(shí)現(xiàn)Serializable借口才能被序列化,下來是java序列化和反序列化演示

序列化一般應(yīng)用與以下場景之中:

1.永久性保存對象,把對象通過序列化字節(jié)流保存到本地文件中;
2.通過序列化在網(wǎng)絡(luò)中傳輸對象
3.通過序列化在進(jìn)程間傳遞對象

復(fù)制代碼 代碼如下:

import java.io.Serializable;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class javaSerializable_fun {

/**
   * java.io.Serializable 接口,類只有實(shí)現(xiàn)Serializable借口才能被序列化
   * java.io.Externalizable接口,利用java的序列化和反序列化工具,很多存儲(chǔ)和恢復(fù)對象的工作都可以自動(dòng)完成。
   * java.io.ObjectOutput接口,序列化傳出, 繼承了DataOutput接口并定義了一些方法,它支持對象序列化;
   *   重點(diǎn)說明:在該類中,writeObject()方法是最重要的方法,用于對象序列化,如果對象包含其他的對象引用,則writeObject()方法地柜序列化這些對象;
   * java.io.ObjectOutputStream類,負(fù)責(zé)向流中寫入對象,構(gòu)造方法:ObjectOutputStream(OutputStream out);
   * java.io.ObjectInput接口,序列化傳入。繼承了DataInput接口并定義了一些方法,它支持對象序列化;
   * ObjectInputStream類, 負(fù)責(zé)向從流中讀取對象,構(gòu)造方法:ObjectInputStream(InputStream out);
   ***/

public static void main(String[] args) {

    try
  {
   //構(gòu)造FileOutputStream對象
   FileOutputStream f=new FileOutputStream("C:a.txt");

   //構(gòu)造ObjectOutputStream對象
   ObjectOutputStream out=new ObjectOutputStream(f);

   Customer customer=new Customer("bj",50);

   //使用ObjectOutputStream對象的writeObject()方法進(jìn)行序列化
   out.writeObject(customer);

   //關(guān)閉ObjectOutputStream對象
   out.close();

   //關(guān)閉FileOutputStream對象
     f.close();
     System.out.println("序列化完畢!");
  }
  catch(IOException e)
  {
   e.getStackTrace();
  }

}

}

class Customer implements Serializable
{
 private static final long serialVersionUID =1L;

 private String name;
 private int age;

 public String getName()
 {
  return name;
 }

 public int getAge()
 {
  return age;
 }

 public Customer(String name,int age)
 {
  this.name=name;
  this.age=age;
 }

 public String toString()
 {
  return "name="+ name +",age="+age;
 }
}

相關(guān)文章

  • Java?ThreadPoolExecutor線程池有關(guān)介紹

    Java?ThreadPoolExecutor線程池有關(guān)介紹

    這篇文章主要介紹了Java?ThreadPoolExecutor線程池有關(guān)介紹,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Java try catch finally異常處理組合詳解

    Java try catch finally異常處理組合詳解

    這篇文章主要介紹了Java try catch finally異常處理組合詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 淺談線程通信wait,notify作用

    淺談線程通信wait,notify作用

    這篇文章主要介紹了淺談線程通信wait,notify作用,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • 使用hutool進(jìn)行ftp文件下載和上傳詳細(xì)代碼示例

    使用hutool進(jìn)行ftp文件下載和上傳詳細(xì)代碼示例

    在開發(fā)Java項(xiàng)目時(shí),FTP客戶端是經(jīng)常需要使用的工具,因?yàn)镕TP協(xié)議在文件傳輸方面有著廣泛的應(yīng)用,這篇文章主要給大家介紹了關(guān)于使用hutool進(jìn)行ftp文件下載和上傳的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • Spring Boot日志技術(shù)logback原理及配置解析

    Spring Boot日志技術(shù)logback原理及配置解析

    這篇文章主要介紹了Spring Boot日志技術(shù)logback原理及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 解決Java?API不能遠(yuǎn)程訪問HBase的問題

    解決Java?API不能遠(yuǎn)程訪問HBase的問題

    這篇文章主要介紹了解決Java?API不能遠(yuǎn)程訪問HBase的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 詳解MyBatis直接執(zhí)行SQL查詢及數(shù)據(jù)批量插入

    詳解MyBatis直接執(zhí)行SQL查詢及數(shù)據(jù)批量插入

    這篇文章主要介紹了MyBatis直接執(zhí)行SQL查詢及數(shù)據(jù)批量插入的相關(guān)知識(shí),需要的朋友一起學(xué)習(xí)吧
    2016-01-01
  • java 實(shí)現(xiàn)音樂播放器的簡單實(shí)例

    java 實(shí)現(xiàn)音樂播放器的簡單實(shí)例

    這篇文章主要介紹了java 實(shí)現(xiàn)音樂播放器的簡單實(shí)例的相關(guān)資料,希望通過本文能幫助到大家,實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-09-09
  • java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο?

    java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο?

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο螅?,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Java模擬并解決緩存穿透問題

    Java模擬并解決緩存穿透問題

    這篇文章主要介紹了Java模擬并解決緩存穿透問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-08-08

最新評論