再談序列化

序列化是將內存中的對象,通過某種可存儲的形式進行表示,然後進行傳輸或存儲。我們知道,計算機中底層只是0或1二進制形式,也就是ASCII碼。而內存中的對象確實一種複雜的對象,所以就需要一種可以描述對象的機制,這種機制就是序列化協議。

常用的有以下幾種序列化協議:

在這裏插入圖片描述

JDK序列化

jdk序列化會生成二進制文件類似於class文件,(Java中的calss文件是16進制文件)是經過編譯器預處理過的一種文件,是Java的執行文件存在形式,它本身是二進制文件,但是不可以被系統直接執行,而是需要虛擬機解釋執行。
所以打開之後並不是我們說的二進制0或1。如果是0或1了,那就不需要JVM進行解釋執行了,所以我們常說java是半編譯半解釋型的語言。

jdk序列化生成的java規範的二進制文件打開如下(16進制):
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章