在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ Java的對(duì)象序列化就是把一個(gè)對(duì)象變?yōu)槎M(jìn)制數(shù)據(jù)流的一種方法。

Java的對(duì)象序列化就是把一個(gè)對(duì)象變?yōu)槎M(jìn)制數(shù)據(jù)流的一種方法。

把一個(gè)對(duì)象變?yōu)槎M(jìn)制數(shù)據(jù)流是什么意思?它有什么作用,網(wǎng)上的文章說的很模糊(有段代碼說明是最好的?)?
回答
編輯回答
笨尐豬

我的理解:

1. 希望將一個(gè)對(duì)象持久化的時(shí)候

一般來說運(yùn)行時(shí)的對(duì)象都是存在內(nèi)存里的,程序運(yùn)行完一個(gè)生命周期,對(duì)象也就沒有了;如果這個(gè)時(shí)候你想把某個(gè)對(duì)象保存下來等程序下次啟動(dòng)的時(shí)候直接就可以用;可以用序列化把一個(gè)對(duì)象寫入一個(gè)文件里,用的時(shí)候再取出來反序列化(當(dāng)然也可以用配置文件之類的實(shí)現(xiàn));對(duì)某些信息不需要人工修改又想保存下來下次再用的時(shí)候特別好用。

2. 想通過網(wǎng)絡(luò)傳輸對(duì)象的時(shí)候

這個(gè)和另外答案描述的一致,通過套接字傳輸對(duì)象

2017年11月17日 02:40
編輯回答
我不懂

比如有兩個(gè)應(yīng)用服務(wù),A服務(wù)把對(duì)象a弄好了,準(zhǔn)備傳給B用。A就會(huì)把對(duì)象a序列化成二進(jìn)制數(shù)據(jù)流,然后要么通過Socket直接連接B,要么通過redis之類的間接連接B,把這些數(shù)據(jù)流傳給B,B拿到這些二進(jìn)制數(shù)據(jù)流后就進(jìn)行反序列化,把二進(jìn)制數(shù)據(jù)流還原回a對(duì)象了。

2018年8月17日 21:19
編輯回答
冷咖啡

簡(jiǎn)單來說JSON也是對(duì)象序列化的一種方法。例如一個(gè)類

public class A{
    public int x;
    public int y;
}
A a = new A();
a.x =1;
a.y = 2;

把a(bǔ)使用JSON方式序列化就是

{
"x":1,
"y":2
}

可以把這個(gè)JSON存到文件,在其他地方讀出來就可以還原a對(duì)象,
傳統(tǒng)的二進(jìn)制的序列化方式可以更加節(jié)省空間和更高的解析效率

2017年9月30日 16:53