java對象序列化與對象反序列化
Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、遊戲控制枱、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社羣。以下是小編為大家搜索整理的java反序列化對象的技巧,歡迎閲讀!更多精彩內容請及時關注我們考試網!
下面的DeserializeDemo程序實例了反序列化,/tmp/存儲了Employee對象。
import .*;
public class DeserializeDemo
{
public static void main(String [] args)
{
Employee e = null;
try
{
FileInputStream fileIn = new FileInputStream("/tmp/");
ObjectInputStream in = new ObjectInputStream(fileIn);
e = (Employee) Object();
e();
e();
}catch(IOException i)
{
tStackTrace();
return;
}catch(ClassNotFoundException c)
{
tln("Employee class not found");
tStackTrace();
return;
}
tln("Deserialized Employee...");
tln("Name: " + );
tln("Address: " + ess);
tln("SSN: " + );
tln("Number: " + er);
}
}
以上程序編譯運行結果如下所示:
Deserialized Employee...
Name: Reyan Ali
Address:Phokka Kuan, Ambehta Peer
SSN: 0
Number:101
這裏要注意以下要點:
readObject() 方法中的try/catch代碼塊嘗試捕獲 ClassNotFoundException異常。對於JVM可以反序列化對象,它必須是能夠找到字節碼的類。如果JVM在反序列化對象的過程中找不到該類,則拋出一個 ClassNotFoundException異常。
注意,readObject()方法的'返回值被轉化成Employee引用。
當對象被序列化時,屬性SSN的值為111222333,但是因為該屬性是短暫的,該值沒有被髮送到輸出流。所以反序列化後Employee對象的SSN屬性為0。
-
Java中運算符的使用
導語:計算機的最基本用途之一就是執行數學運算,作為一門計算機語言,Java也提供了一套豐富的運算符來操縱變量。下面是java中運算符的使用,一起來學習下吧:算術運算符單目:+(取正)-(取負)++(自增1)--(自減1)雙目:+-*/%(取餘)三目:a>b?true:false説明:當a大於b的時候,為tru...
-
java中length和length()的區別
泉水,奮鬥之路越曲折,心靈越純潔。以下是小編為大家搜索整理了java中length和length()的區別,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!length是屬性,一般集合類對象擁有的屬性,取得集合的大小。例如:數組th就是取得數組的長度。length()是...
-
編寫更好的Java單元測試的7個技巧
測試是開發的一個非常重要的方面,可以在很大程度上決定一個應用程序的命運。良好的測試可以在早期捕獲導致應用程序崩潰的問題,但較差的測試往往總是導致故障和停機。雖然有三種主要類型的軟件測試:單元測試,功能測試和集成測試,但是在這篇博文中,我們將討論開發人員...
-
Javascript和Java語言間的異同比較
雖然Javascript與Java有緊密的聯繫,但卻是兩個公司開發的不同的兩個產品。那麼js和java有什麼關係,兩種語言的不同點是什麼呢?以下是本站小編搜索整理的關於Javascript和Java語言間的異同比較,供參考學習,感興趣的小夥伴們可以參考一下!想了解更多相關信息請持續關...