啊?連載?應該說壹個數據結構,比如二叉樹,序列化後會變成壹個char數組或者string字符串,方便妳保存在文件中或者通過網絡傳輸。然後就是“反序列化”把從文件中讀取的/從網絡上接收的char數組或字符串還原到二叉樹或別的什麽裏面。
主要是方便保存。
如何在Java中實現序列化,意義何在?
序列化是壹種用來處理對象流的機制,所謂對象流就是對對象的內容進行流式處理。您可以讀寫流式對象,也可以在網絡之間傳輸流式對象。序列化是為了解決讀寫對象流時可能出現的問題(如果不序列化,可能會出現數據亂序的問題)。
實現序列化,類需要實現Serializable接口,Serializable接口是壹個標識接口,表示類對象可以序列化,然後用壹個輸出流構造壹個對象輸出流,實現的對象可以通過writeObject(Object)方法寫出(即可以保存其狀態);如果需要反序列化,可以使用輸入流建立對象輸入流,然後通過readObject方法從流中讀取對象。序列化不僅可以實現對象的持久化,還可以用於對象的深度克隆。
java中序列化是什麽意思?有什麽好處?
序列化是將對象的狀態信息轉換為可以存儲或傳輸的形式的過程。
序列化是針對用戶自定義的類型或者分散的數據,它的優點是使數據易於存儲和傳輸(傳輸)。妳可以理解為把零散的字母變成壹個字符串(當然實際序列化過程沒那麽簡單),可以統壹存儲和傳輸,傳輸完標準序列化後,再依次讀出。
序列化以標準化和可存儲性為目的,通常用於數據庫、文件操作和與系統標準化功能的通信。
序列化的作用
對象序列化允許您將實現可序列化接口的對象轉換為字節序列,這些字節序列可以完全存儲起來,以便以後重新生成原始對象。
例如:
通過網絡傳輸時,可以傳輸字符串或對象,如套接字。當傳輸壹個字符串時,接收器可以很容易地分析它。但是在傳輸對象的時候,對方在讀取字節流之後並不知道妳傳輸的是什麽對象,所以沒有辦法轉換成原來的對象,分析對象的屬性。這時候就需要序列化和反序列化了。
類實現序列化接口。socket發送這個對象的字節流,接收方收到流後可以將流反序列化為對象,然後使用對象的方法和屬性。
——我這裏只講了網絡傳輸的壹個應用。其實功能還是很多的。妳可以自己研究它們。
java序列化的作用
簡單地說,序列化意味著以某種方式在內存中對Java對象的二進制字節進行編程。
既然是字節,那麽處理起來就很方便,可以存儲,可以存儲在文件中,也可以發送給別人。
Java平臺允許我們在內存中創建可重用的Java對象,但壹般情況下,這些對象可能只有在JVM運行時才存在,也就是說,這些對象的生命周期不會比JVM長(也就是說,每個對象都在JVM中)。
但是在實際應用中,可以停止JVM,但是需要保存壹些指定的對象,並在以後重新讀取保存的對象。這是Java對象序列化來實現這個功能。(可以選擇以數據庫或文件的形式保存)
但是有時候,需要在網絡上傳輸壹些對象,比如使用RMI(遠程方法調用)的時候,序列化和反序列化也是需要的。
親愛的,如果回答滿意,我馬上采納。妳的理解是我回答的動力。謝謝大家!!!
C#中對象序列化是什麽意思?序列化有什麽好處?具體有哪些應用?
序列化意味著將對象保存到文件或數據庫字段中,而反序列化意味著在適當的時候將文件轉換為原始對象。
我認為主要功能是:
1.下次進程開始時,讀取上次保存的對象的信息。
2.在不同的AppDomain或進程之間傳遞數據。
3.分布式應用系統中的數據傳輸。
序列化的作用是什麽?
什麽是序列化?序列化是保存壹個對象的狀態(各種屬性量),然後在適當的時候獲取。序列化分為兩部分:序列化和反序列化。
C#序列化和反序列化到底是什麽意思?
序列化意味著將對象保存到文件或數據庫字段中,而反序列化意味著在適當的時候將文件轉換為原始對象。
我認為最重要的作品是:
1.下次進程開始時,讀取上次保存的對象的信息。
2.在不同的AppDomain或進程之間傳遞數據。
3.分布式應用系統中的數據傳輸。
Java中對象序列化的作用是什麽?要全面,謝謝
1.序列化是為了什麽?
簡單來說就是將各種對象的狀態保存在內存中,並再次讀取保存的對象狀態。雖然妳可以用妳自己的各種方式保存對象狀態,但是Java為妳提供了壹個比妳自己更好的保存對象狀態的機制,那就是序列化。
2.什麽時候需要序列化?
a)當妳想將內存中的對象保存到壹個文件或數據庫中時;
b)當妳想使用套接字在網絡上傳輸對象時;
c)當妳想通過RMI轉移壹個對象的時候;
3.當壹個對象被序列化時會發生什麽?
在序列化之前,堆中存儲的每個對象都有壹個對應的狀態,即壹個可變的實例,如:
Foo my Foo = new Foo();
myFoo。setWidth(37);
my foo . set height(70);
當由下面的代碼序列化時,MyFoo對象中的width和Height實例變量的值(37,70)保存在foo.ser文件中,以便以後可以從該文件中讀出,並且可以在堆中重新創建原始對象。當然,保存的時候,不僅僅是保存對象的實例變量的值,JVM為了恢復原來的對象,還會保存少量的信息,比如類的類型。
file output stream fs = new file output stream(" foo . ser ");
object output stream OS = new object output stream(fs);
OS . writeobject(my foo);
4.實現序列化(保存到文件)的步驟
a)生成文件輸出流
Java代碼
file output stream fs = new file output stream(" foo . ser ");
b)生成壹個對象輸出流
Java代碼
object output stream OS = new object output stream(fs);
c)書寫對象
Java代碼
OS . writeobject(my object 1);
OS . writeobject(my object 2);
OS . writeobject(my object 3);
d)關閉對象輸出流
Java代碼
OS . close();
5.舉個例子
Java代碼
導入Java . io . *;
公共類盒實現可序列化
{
private int寬度;
private int高度;
公共void setWidth(int width){
this.width =寬度;
}
public void set height(int height){
this.height =高度;
}
公共靜態void main(String[] args){
Box my Box = new Box();
my box . set width(50);
my box . set height(30);
嘗試{
file output stream fs = new file output stream(" foo . ser ");
對象輸出流操作系統......
Java中序列化的作用是什麽?為什麽要連載?
序列化是指對象可以長期存儲在硬盤上,或者通過網絡傳輸到遠端。應該為可序列化的對象實現Serializable接口。這個接口中沒有方法,這是實現這個接口的類可以啟動並使用序列化函數的標誌。
序列化本質上是把壹個對象解析成二進制流,所有實現可序列化接口的子類都有序列化功能;