内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

java中Serializable接口作用詳解-創(chuàng)新互聯(lián)

本文為大家解析java中Serializable接口的作用,具體內(nèi)容如下

遂寧ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

 1.(serializable)主要支持對象的回復(fù),所以可以用來保存當(dāng)前的程序系統(tǒng)狀態(tài),遠(yuǎn)程方法調(diào)用RMI(遠(yuǎn)程機(jī)器必須含有必要的.class文件,否則將擲出classNotFound   Exception),但是因?yàn)樗鼘ο髷?shù)據(jù)自動全部保存,你根本無法插手,因此對于一些敏感字段(如:password)存在安全問題。但相應(yīng)有很多解決的方法,例如可以在敏感字段的聲明中使用transient關(guān)鍵字,或者去繼承externalizable接口,自己來實(shí)現(xiàn)readExternal()和writerExternal()方法,再或者繼承serializable接口,但提供private   void   writeObject(ObjectOutputStream   s)等方法...   ...但注意static   成員的保存仍需要你的介入。

2.1.網(wǎng)絡(luò)傳輸   


2.數(shù)據(jù)庫持久   


3.把對象保存為文件形式,以便以后還原

Object serialization的定義:

Object serialization 允許你將實(shí)現(xiàn)了Serializable接口的對象轉(zhuǎn)換為字節(jié)序列,這些字節(jié)序列可以被完全存儲以備以后重新生成原來的對象。

serialization不但可以在本機(jī)做,而且可以經(jīng)由網(wǎng)絡(luò)操作(RMI)。這個好處是很大的----因?yàn)樗詣悠帘瘟瞬僮飨到y(tǒng)的差異,字節(jié)順序(用Unix下的c開發(fā)過網(wǎng)絡(luò)編程的人應(yīng)該知道這個概念)等。比如,在Window平臺生成一個對象并序列化之,然后通過網(wǎng)絡(luò)傳到一臺Unix機(jī)器上,然后可以在這臺Unix機(jī)器上正確地重構(gòu)這個對象。

Object serialization主要用來支持2種主要的特性:
1、Java的RMI(remote method invocation).RMI允許象在本機(jī)上一樣操作遠(yuǎn)程機(jī)器上的對象。當(dāng)發(fā)送消息給遠(yuǎn)程對象時,就需要用到serializaiton機(jī)制來發(fā)送參數(shù)和接收返回直。

2、Java的JavaBeans. Bean的狀態(tài)信息通常是在設(shè)計時配置的。Bean的狀態(tài)信息必須被存起來,以便當(dāng)程序運(yùn)行時能恢復(fù)這些狀態(tài)信息。這也需要serializaiton機(jī)制。

二、sakulagi和rollingpig說的持久化我也說一下。


我覺得你們說的應(yīng)該是英文里的persistence.但是Java語言里現(xiàn)在只支持lightweight persistence,就是輕量級持久化,這是通過serialization機(jī)制來實(shí)現(xiàn)的。

persistence是指一個對象的生命周期不由程序是否執(zhí)行來決定,即使是在程序終止時這個對象也存在。它把一個serializable的對象寫到磁盤(本機(jī)或其他機(jī)器上的非RAM存儲器),并在程序重新調(diào)用時再讀取對象到通常的RAM存儲器。

為什么說Java的serialization機(jī)制實(shí)現(xiàn)的是lightweight persistence?因?yàn)槟惚仨氾@式的序列化和反序列化程序里的對象;而不是直接由一個關(guān)鍵詞來定義一個對象是序列化的然后由系統(tǒng)做相應(yīng)的處理。

下面是關(guān)于序列化的一個實(shí)例:

程序名稱:SerializationDemo.java
程序主題:實(shí)現(xiàn)對象的序列化和反序列化
程序說明:該程序由實(shí)例化一個MyClass類的對象開始,該對象有三個實(shí)例變量,類型分別為String、int、double,是希望存儲和恢復(fù)的信息。

代碼內(nèi)容


import java.io.*;

public class SerializationDemo{

public static void main(String args[]){

//Object serialization 
try{ 
MyClass object1=new MyClass("Hello",-7,2.7e10); 
System.out.println("object1:"+object1); 
FileOutputStream fos=new FileOutputStream("serial"); 
ObjectOutputStream oos=new ObjectOutputStream(fos); 
oos.writeObject(object1); 
oos.flush(); 
oos.close(); 
} 
catch(Exception e){ 
System.out.println("Exception during serialization:"+e); 
System.exit(0); 
}

//Object deserialization 
try{ 
MyClass object2; 
FileInputStream fis=new FileInputStream("serial"); 
ObjectInputStream ois=new ObjectInputStream(fis); 
object2=(MyClass)ois.readObject(); 
ois.close(); 
System.out.println("object2:"+object2); 
} 
catch(Exception e){ 
System.out.println("Exception during deserialization:"+e); 
System.exit(0); 
} 
} 
}

class MyClass implements Serializable{ 
String s; 
int i; 
double d; 
public MyClass(String s,int i,double d){ 
this.s=s; 
this.i=i; 
this.d=d; 
} 
public String toString(){ 
return "s="+s+";i="+i+";d="+d; 
} 
} 

本文名稱:java中Serializable接口作用詳解-創(chuàng)新互聯(lián)
文章鏈接:http://m.rwnh.cn/article34/ddodpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、標(biāo)簽優(yōu)化用戶體驗(yàn)、微信小程序微信公眾號、網(wǎng)站改版

廣告

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

手機(jī)網(wǎng)站建設(shè)
汤阴县| 黄冈市| 娄烦县| 乌鲁木齐县| 曲靖市| 万州区| 定边县| 澄城县| 澄江县| 礼泉县| 曲阳县| 谢通门县| 铜鼓县| 湟源县| 公主岭市| 新宾| 玛多县| 新津县| 锦州市| 肇东市| 简阳市| 扎鲁特旗| 中宁县| 平谷区| 司法| 新营市| 栾城县| 玉树县| 民权县| 阜康市| 潮安县| 泗洪县| 潞城市| 桓台县| 简阳市| 洞口县| 安塞县| 潞西市| 上林县| 盈江县| 扎囊县|