原文地址: http://www.dzone.com/links/r/serialization_marshalling_deflating_in_java.html
Writing Java Objects or keeping the state of Objects into DataBase or Files (In Binary Format) is known as Serialization or Marshalling or deflating.
Reading Java Objects back in Binary Format from file or Database is known as DeSerialization or UnMarshalling or inflating.
Transient : If any variable is defined by using keyword “transient”, then object will not serialize that variable. During deserialization default value of that datatype will be set.
Static : as static variables are class level variables, so it is not serialzed as the object state.
Example:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package com.G2.Serialization;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
class Home implements Serializable
{
transient int flatNo;
String OwnerName;
}
class Door extends Home
{
private boolean isDoubleLock;
private String DoorMaterial;
public void setValue(boolean isDLock,String dMaterial, int fNo,String Owner)
{
isDoubleLock = isDLock;
DoorMaterial = dMaterial;
flatNo = fNo;
OwnerName = Owner;
}
public void Display()
{
System.out.println("Double Lock - "+isDoubleLock);
System.out.println("Material - "+DoorMaterial);
System.out.println("flat No - "+flatNo);
System.out.println("Owner Name - "+OwnerName);
}
}
public class SerializationDemo {
public static void main(String[] args) throws FileNotFoundException, IOException,
ClassNotFoundException {
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("Demo.srl"));
Door d = new Door();
d.setValue(true, "Wood", 24, "Minal Zaa");
System.out.println(" *** Serializing Object *** ");
out.writeObject(d);
out.close();
ObjectInputStream in = new ObjectInputStream(new FileInputStream("Demo.srl"));
System.out.println(" *** DeSerializing Object *** ");
Door d1 = (Door) in.readObject();
d1.Display();
in.close();
}
}
Output:
*** Serializing Object ***
*** DeSerializing Object ***
Double Lock – true
Material – Wood
flat No – 0
Owner Name – Minal Zaa
Note from example:
Parent class implements interface “Serializable” and child class extends that, so child class automatically gets serialized.
Variable “flatNo” is transient and therefore it is not serialized.
分享到:
相关推荐
这个文档是用svcutil.exe生成的元数据 是对于本人WCF文章中的源码下载
Adobe类库中提取的json包。路径(com/adobe/serialization/json)
sirenix.serialization.dll
The second edition of Programming in Java confirms to Java Standard Edition 7, the latest release since Oracle took over Sun Microsystems. It is significant in the sense that the last update was six ...
详细讲解了java各种输入输出流(stream),以及serialization和externalization的用法与关系
Experiences Implementing Efficient Java Thread Serialization, Mobility and Persistence
see Appendix D: Disabling Cryptographic Algorithms in Java PKI Programmer's Guide and Disabled Cryptographic Algorithms in Java Secure Socket Extension (JSSE) Reference Guide. Various enhancements ...
本篇文章是对Java中对象的序列化(Serialization) 机制进行了详细的分析介绍,并附实例,需要的朋友可以参考下
febird implemented a serialization framework(vs boost.serialization/google.protocolbuffer), can be used in protocol parsing, big/small data serialization, even in very small object serialize, ...
GSON analog for serialization/deserialization of Java objects into HTML code and back Work in progress, a basic data is supported so far. For the sample see TestClass.java Contribution is welcome! ...
.Net方法解析与序列化必须要有的3个dll
Chapter 1 presents a broad overview of I/O in terms of Java’s classic I/O, New I/O (NIO), and NIO.2 categories. You learn what each category offers in terms of its capabilities, and you also learn ...
level language, this book applies the Deitel signature live-code approach to teaching programming and explores the Java® 9 language and APIs in depth. The book presents concepts in fully tested ...
探讨和比较Java和.NET的序列化(Serialization)框架
System.Runtime.Serialization.DLL
Example for a Serialization Protocol (SOME/IP) Document Version 1.1.0
RTTI serialization/deserialization of JSON objects OXml supports all Delphi versions starting from Delphi 5 on all platforms: Win32, Win64, OSX, iOS, Android, Linux. OXml supports the latest Lazarus...
z Java I/O 流(character Stream, byte Stream, serialization) z Java Collections Framework z Java GUI(awt, swing, layoutManger, eventhandling….) z 共32学时,上机两次(每次4小时) 3 第一讲JAVA 概述 1. ...