全球快資訊丨golang-java-serializer序列化算法解析
(資料圖片)
首先上github項目地址(基本可以直接將go struct直接與java class互轉(zhuǎn),覺得可以的大家給顆星)https://github.com/qauzy/huskyhttps://github.com/qauzy/husky項目源于GitHub - davidwang2007/golang-java-serializer: golang library for handle java serialization/deserializationgolang library for handle java serialization/deserialization - GitHub - davidwang2007/golang-java-serializer: golang library for handle java serialization/deserializationhttps://github.com/davidwang2007/golang-java-serializer
Java序列化算法:
java的序列化算法看起來比較簡單,
1 首先是序列化文件頭,接著是類描述符,接著父類的描述符(如果存在),直至沒有父類。
2 接著是數(shù)據(jù)部分,從父類的成員數(shù)據(jù)開始,如果成員數(shù)據(jù)是Object類型還需要先寫入該Object類的描述符,接著才是數(shù)據(jù)
3 對于ArrayList,HashMap等類型自帶了序列化方法,需要執(zhí)行特殊序列化
具體過程可以看下面github中例子的解析過程第一部分是序列化文件頭0xACED: magic 聲明使用了序列化協(xié)議. 0x05: version 序列化協(xié)議版本. 0x73: TC_OBJECT. 聲明這是一個新的對象.按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[0]塊信息 第二部分是序列化的類的描述[深度:0]0x72: TC_CLASSDESC. 聲明這里開始一個新Class 0x21: 類名字的長度[33] 0x636F6D2E6578616D706C652E64656D6F2E6D6F64656C2E55736572456E74697479: 嘗試讀取類名[com.example.demo.model.UserEntity] 0x48B027EB0BF53976: SerialVersionUID,序列化ID,如果沒有指定,則會由算法隨機(jī)生成一個8byte的ID. [添加] [引用] [0] 類型:TC_CLASSDESC[0x72], refVal:{"ClassName":"com.example.demo.model.UserEntity","ScFlag":0,"SerialVersionUID":5237730257103305078,"Fields":null,"RwDatas":null} 0x02: 標(biāo)記號. 該值聲明該對象支持序列化 0x08: 該類[com.example.demo.model.UserEntity]所包含的域個數(shù),有8個成員第三部分是類[com.example.demo.model.UserEntity]中各個屬性的描述 準(zhǔn)備解析類[com.example.demo.model.UserEntity]第1個屬性0x4C: 成員類型[L] 0x05: 成員名字長度 0x6769667473: 成員名字[gifts] 0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x15: 該TC_STRING的長度[21] 0x4C6A6176612F7574696C2F41727261794C6973743B: 字符串原文:Ljava/util/ArrayList; [添加] [引用] [1] 類型:TC_STRING[0x74], refVal:"Ljava/util/ArrayList;" 類[com.example.demo.model.UserEntity]第1個屬性 :type: 0x4C, name: gifts, flag: 0x2, class: Ljava/util/ArrayList;準(zhǔn)備解析類[com.example.demo.model.UserEntity]第2個屬性0x5B: 成員類型[[] 0x06: 成員名字長度 0x676966747332: 成員名字[gifts2] 0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x13: 該TC_STRING的長度[19] 0x5B4C6A6176612F6C616E672F537472696E673B: 字符串原文:[Ljava/lang/String; [添加] [引用] [2] 類型:TC_STRING[0x74], refVal:"[Ljava/lang/String;" 類[com.example.demo.model.UserEntity]第2個屬性 :type: 0x5B, name: gifts2, flag: 0x2, class: [Ljava/lang/String;準(zhǔn)備解析類[com.example.demo.model.UserEntity]第3個屬性0x4C: 成員類型[L] 0x02: 成員名字長度 0x6964: 成員名字[id] 0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x10: 該TC_STRING的長度[16] 0x4C6A6176612F6C616E672F4C6F6E673B: 字符串原文:Ljava/lang/Long; [添加] [引用] [3] 類型:TC_STRING[0x74], refVal:"Ljava/lang/Long;" 類[com.example.demo.model.UserEntity]第3個屬性 :type: 0x4C, name: id, flag: 0x2, class: Ljava/lang/Long;準(zhǔn)備解析類[com.example.demo.model.UserEntity]第4個屬性0x4C: 成員類型[L] 0x06: 成員名字長度 0x6F7468657273: 成員名字[others] 0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x13: 該TC_STRING的長度[19] 0x4C6A6176612F7574696C2F486173684D61703B: 字符串原文:Ljava/util/HashMap; [添加] [引用] [4] 類型:TC_STRING[0x74], refVal:"Ljava/util/HashMap;" 類[com.example.demo.model.UserEntity]第4個屬性 :type: 0x4C, name: others, flag: 0x2, class: Ljava/util/HashMap;準(zhǔn)備解析類[com.example.demo.model.UserEntity]第5個屬性0x4C: 成員類型[L] 0x07: 成員名字長度 0x6F746865727332: 成員名字[others2] 0x71: TC_REFERENCE 標(biāo)識引用 0x7E0004: TC_REFERENCE引用序號[4] 類[com.example.demo.model.UserEntity]第5個屬性 :type: 0x4C, name: others2, flag: 0x2, class: Ljava/util/HashMap;準(zhǔn)備解析類[com.example.demo.model.UserEntity]第6個屬性0x4C: 成員類型[L] 0x03: 成員名字長度 0x736F6E: 成員名字[son] 0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x22: 該TC_STRING的長度[34] 0x4C636F6D2F6578616D706C652F64656D6F2F6D6F64656C2F536F6E456E746974793B: 字符串原文:Lcom/example/demo/model/SonEntity; [添加] [引用] [5] 類型:TC_STRING[0x74], refVal:"Lcom/example/demo/model/SonEntity;" 類[com.example.demo.model.UserEntity]第6個屬性 :type: 0x4C, name: son, flag: 0x2, class: Lcom/example/demo/model/SonEntity;準(zhǔn)備解析類[com.example.demo.model.UserEntity]第7個屬性0x4C: 成員類型[L] 0x08: 成員名字長度 0x757365724E616D65: 成員名字[userName] 0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x12: 該TC_STRING的長度[18] 0x4C6A6176612F6C616E672F537472696E673B: 字符串原文:Ljava/lang/String; [添加] [引用] [6] 類型:TC_STRING[0x74], refVal:"Ljava/lang/String;" 類[com.example.demo.model.UserEntity]第7個屬性 :type: 0x4C, name: userName, flag: 0x2, class: Ljava/lang/String;準(zhǔn)備解析類[com.example.demo.model.UserEntity]第8個屬性0x4C: 成員類型[L] 0x07: 成員名字長度 0x75736572536578: 成員名字[userSex] 0x71: TC_REFERENCE 標(biāo)識引用 0x7E0006: TC_REFERENCE引用序號[6] 類[com.example.demo.model.UserEntity]第8個屬性 :type: 0x4C, name: userSex, flag: 0x2, class: Ljava/lang/String;0x78: TC_ENDBLOCKDATA,在readObject中,表明數(shù)據(jù)已經(jīng)讀取完畢按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[1]塊信息 第四部分為對象的父類信息描述 第二部分是序列化的類的描述[深度:1]0x72: TC_CLASSDESC. 聲明這里開始一個新Class 0x21: 類名字的長度[33] 0x636F6D2E6578616D706C652E64656D6F2E6D6F64656C2E42617365456E74697479: 嘗試讀取類名[com.example.demo.model.BaseEntity] 0x01: SerialVersionUID,序列化ID,如果沒有指定,則會由算法隨機(jī)生成一個8byte的ID. [添加] [引用] [7] 類型:TC_CLASSDESC[0x72], refVal:{"ClassName":"com.example.demo.model.BaseEntity","ScFlag":0,"SerialVersionUID":1,"Fields":null,"RwDatas":null} 0x02: 標(biāo)記號. 該值聲明該對象支持序列化 0x01: 該類[com.example.demo.model.BaseEntity]所包含的域個數(shù),有1個成員第三部分是類[com.example.demo.model.BaseEntity]中各個屬性的描述 準(zhǔn)備解析類[com.example.demo.model.BaseEntity]第1個屬性0x4C: 成員類型[L] 0x08: 成員名字長度 0x626173654E616D65: 成員名字[baseName] 0x71: TC_REFERENCE 標(biāo)識引用 0x7E0006: TC_REFERENCE引用序號[6] 類[com.example.demo.model.BaseEntity]第1個屬性 :type: 0x4C, name: baseName, flag: 0x2, class: Ljava/lang/String; 0x78: TC_ENDBLOCKDATA,在readObject中,表明數(shù)據(jù)已經(jīng)讀取完畢按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[2]塊信息 0x70: TC_NULL,標(biāo)記后面的數(shù)據(jù)為空,説明已經(jīng)沒有父類信息了[深度:2][添加] [引用] [8] 類型:TC_OBJECT[0x73], refVal:{"Classes":[{"ClassName":"com.example.demo.model.UserEntity","ScFlag":2,"SerialVersionUID":5237730257103305078,"Fields":[{"FieldType":76, "FieldName":"gifts","FieldOwnerScFlag":2,"FieldObjectClassName":"Ljava/util/ArrayList;","FieldValue":null},{"FieldType":91,"FieldName":"gifts2","FieldOwnerScFlag":2,"FieldObjectClassNa me":"[Ljava/lang/String;","FieldValue":null},{"FieldType":76,"FieldName":"id","FieldOwnerScFlag":2,"FieldObjectClassName":"Ljava/lang/Long;","FieldValue":null},{"FieldType":76,"FieldNa me":"others","FieldOwnerScFlag":2,"FieldObjectClassName":"Ljava/util/HashMap;","FieldValue":null},{"FieldType":76,"FieldName":"others2","FieldOwnerScFlag":2,"FieldObjectClassName":"Lja va/util/HashMap;","FieldValue":null},{"FieldType":76,"FieldName":"son","FieldOwnerScFlag":2,"FieldObjectClassName":"Lcom/example/demo/model/SonEntity;","FieldValue":null},{"FieldType": 76,"FieldName":"userName","FieldOwnerScFlag":2,"FieldObjectClassName":"Ljava/lang/String;","FieldValue":null},{"FieldType":76,"FieldName":"userSex","FieldOwnerScFlag":2,"FieldObjectCla ssName":"Ljava/lang/String;","FieldValue":null}],"RwDatas":null},{"ClassName":"com.example.demo.model.BaseEntity","ScFlag":2,"SerialVersionUID":1,"Fields":[{"FieldType":76,"FieldName": "baseName","FieldOwnerScFlag":2,"FieldObjectClassName":"Ljava/lang/String;","FieldValue":null}],"RwDatas":null}],"SerialVersionUID":0,"JsonData":null,"RawData":null}第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[com.example.demo.model.UserEntity] 第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[com.example.demo.model.BaseEntity]->分解動作 嘗試獲取第[1]個類(可序列化)[com.example.demo.model.BaseEntity]-->第[0]個成員[baseName]值************************BEGIN[baseName]************************解析對象類型類成員[baseName]0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x04: 該TC_STRING的長度[4] 0x62617365: 字符串原文:base [添加] [引用] [9] 類型:TC_STRING[0x74], refVal:"base"************************END[baseName]************************ 第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[com.example.demo.model.UserEntity]->分解動作 嘗試獲取第[0]個類(可序列化)[com.example.demo.model.UserEntity]-->第[0]個成員[gifts]值 ************************BEGIN[gifts]************************解析對象類型類成員[gifts] [ReadTcObjFieldValue]解析類對象0x73: TC_OBJECT. 聲明這是一個新的對象(未被消費(fèi))按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[0]塊信息 第二部分是序列化的類的描述[深度:0]0x72: TC_CLASSDESC. 聲明這里開始一個新Class 0x13: 類名字的長度[19] 0x6A6176612E7574696C2E41727261794C697374: 嘗試讀取類名[java.util.ArrayList] 0x7881D21D99C7619D: SerialVersionUID,序列化ID,如果沒有指定,則會由算法隨機(jī)生成一個8byte的ID. [添加] [引用] [10] 類型:TC_CLASSDESC[0x72], refVal:{"ClassName":"java.util.ArrayList","ScFlag":0,"SerialVersionUID":8683452581122892189,"Fields":null,"RwDatas":null} 0x03: 標(biāo)記號. 擁有自己的writeObject, readObject, for example: HashMap, 此種類型需要每一個定義一個相應(yīng)的結(jié)構(gòu)體 0x01: 該類[java.util.ArrayList]所包含的域個數(shù),有1個成員第三部分是類[java.util.ArrayList]中各個屬性的描述 準(zhǔn)備解析類[java.util.ArrayList]第1個屬性0x49: 成員類型[I] 0x04: 成員名字長度 0x73697A65: 成員名字[size] 類[java.util.ArrayList]第1個屬性 :type: 0x49, name: size, flag: 0x3, class: 0x78: TC_ENDBLOCKDATA,在readObject中,表明數(shù)據(jù)已經(jīng)讀取完畢按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[1]塊信息0x70: TC_NULL,標(biāo)記后面的數(shù)據(jù)為空,説明已經(jīng)沒有父類信息了[深度:1] [添加] [引用] [11] 類型:TC_OBJECT[0x73], refVal:{"Classes":[{"ClassName":"java.util.ArrayList","ScFlag":3,"SerialVersionUID":8683452581122892189,"Fields":[{"FieldType":73,"FieldName":" size","FieldOwnerScFlag":3,"FieldObjectClassName":"","FieldValue":null}],"RwDatas":null}],"SerialVersionUID":0,"JsonData":null,"RawData":null}第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[java.util.ArrayList]第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[java.util.ArrayList]->分解動作 嘗試獲取第[0]個類(自定義序列化)[java.util.ArrayList] ************************BEGIN************************ [JavaArrayList] >> =================Blockdata數(shù)據(jù)塊起始位置=================0x04: Blockdata數(shù)據(jù)塊大小[4] 0x77: 在對象的WriteObject方法中,我們可以自定義的寫入數(shù)據(jù),除了非Object數(shù)據(jù),其他所有數(shù)據(jù)將會被寫在一起,也就是BlockData 0x04: 固定為0x04 0x04: 數(shù)組元素的個數(shù)======================讀取第1個數(shù)據(jù)塊====================== 0x74: TC_STRING.代表一個new String.用String來引用對象(ReadNextEle) [添加] [引用] [12] 類型:TC_STRING[0x74], refVal:"AAAAA" ======================讀取第2個數(shù)據(jù)塊====================== 0x71: TC_REFERENCE 0x7E000C: TC_REFERENCE引用序號[12] ======================讀取第3個數(shù)據(jù)塊====================== 0x74: TC_STRING.代表一個new String.用String來引用對象(ReadNextEle) [添加] [引用] [13] 類型:TC_STRING[0x74], refVal:"BBBBB" ======================讀取第4個數(shù)據(jù)塊====================== 0x71: TC_REFERENCE 0x7E000D: TC_REFERENCE引用序號[13] 0x78: TC_ENDBLOCKDATA,在readObject中,表明數(shù)據(jù)已經(jīng)讀取完畢[JavaArrayList] << ************************END************************ ************************END[gifts]************************嘗試獲取第[0]個類(可序列化)[com.example.demo.model.UserEntity]-->第[1]個成員[gifts2]值 ************************BEGIN[gifts2]************************ 解析數(shù)組類型類成員[gifts2]0x13: 類名字的長度[19] 0x5B4C6A6176612E6C616E672E537472696E673B: 嘗試讀取類名[[Ljava.lang.String;] 0xADD256E7E91D7B47: SerialVersionUID,序列化ID,如果沒有指定,則會由算法隨機(jī)生成一個8byte的ID. [添加] [引用] [14] 類型:TC_CLASSDESC[0x72], refVal:{"ClassName":"[Ljava.lang.String;","ScFlag":0,"SerialVersionUID":12525169067719228231,"Fields":null,"RwDatas":null} 0x02: 標(biāo)記號. 該值聲明該對象支持序列化 0x00: 該類[[Ljava.lang.String;]所包含的域個數(shù),有0個成員第三部分是類[[Ljava.lang.String;]中各個屬性的描述0x78: TC_ENDBLOCKDATA,在readObject中,表明數(shù)據(jù)已經(jīng)讀取完畢 [添加] [引用] [15] 類型:TC_ARRAY[0x75], refVal:{"ClassDesc":{"ClassName":"[Ljava.lang.String;","ScFlag":2,"SerialVersionUID":12525169067719228231,"Fields":[],"RwDatas":null},"SerialVer sionUID":12525169067719228231,"Values":null,"JsonData":null} 0x70: TC_NULL,標(biāo)記后面的數(shù)據(jù)為空,對應(yīng)java就是Null 0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x06: 該TC_STRING的長度[6] 0x313131313131: 字符串原文:111111 [添加] [引用] [16] 類型:TC_STRING[0x74], refVal:"111111" 0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x07: 該TC_STRING的長度[7] 0x33333333333333: 字符串原文:3333333 [添加] [引用] [17] 類型:TC_STRING[0x74], refVal:"3333333" 0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x0A: 該TC_STRING的長度[10] 0x34343434343434343434: 字符串原文:4444444444 [添加] [引用] [18] 類型:TC_STRING[0x74], refVal:"4444444444"************************END[gifts2]************************ 嘗試獲取第[0]個類(可序列化)[com.example.demo.model.UserEntity]-->第[2]個成員[id]值 ************************BEGIN[id]************************ 解析對象類型類成員[id] [ReadTcObjFieldValue]解析類對象0x73: TC_OBJECT. 聲明這是一個新的對象(未被消費(fèi))按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[0]塊信息 第二部分是序列化的類的描述[深度:0]0x72: TC_CLASSDESC. 聲明這里開始一個新Class 0x0E: 類名字的長度[14] 0x6A6176612E6C616E672E4C6F6E67: 嘗試讀取類名[java.lang.Long] 0x3B8BE490CC8F23DF: SerialVersionUID,序列化ID,如果沒有指定,則會由算法隨機(jī)生成一個8byte的ID. [添加] [引用] [19] 類型:TC_CLASSDESC[0x72], refVal:{"ClassName":"java.lang.Long","ScFlag":0,"SerialVersionUID":4290774380558885855,"Fields":null,"RwDatas":null}0x02: 標(biāo)記號. 該值聲明該對象支持序列化 0x01: 該類[java.lang.Long]所包含的域個數(shù),有1個成員第三部分是類[java.lang.Long]中各個屬性的描述 準(zhǔn)備解析類[java.lang.Long]第1個屬性0x4A: 成員類型[J] 0x05: 成員名字長度 0x76616C7565: 成員名字[value] 類[java.lang.Long]第1個屬性 :type: 0x4A, name: value, flag: 0x2, class: 0x78: TC_ENDBLOCKDATA,在readObject中,表明數(shù)據(jù)已經(jīng)讀取完畢按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[1]塊信息 第四部分為對象的父類信息描述 第二部分是序列化的類的描述[深度:1]0x72: TC_CLASSDESC. 聲明這里開始一個新Class 0x10: 類名字的長度[16] 0x6A6176612E6C616E672E4E756D626572: 嘗試讀取類名[java.lang.Number] 0x86AC951D0B94E08B: SerialVersionUID,序列化ID,如果沒有指定,則會由算法隨機(jī)生成一個8byte的ID. [添加] [引用] [20] 類型:TC_CLASSDESC[0x72], refVal:{"ClassName":"java.lang.Number","ScFlag":0,"SerialVersionUID":9704295249057472651,"Fields":null,"RwDatas":null} 0x02: 標(biāo)記號. 該值聲明該對象支持序列化 0x00: 該類[java.lang.Number]所包含的域個數(shù),有0個成員 第三部分是類[java.lang.Number]中各個屬性的描述 0x78: TC_ENDBLOCKDATA,在readObject中,表明數(shù)據(jù)已經(jīng)讀取完畢按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[2]塊信息0x70: TC_NULL,標(biāo)記后面的數(shù)據(jù)為空,説明已經(jīng)沒有父類信息了[深度:2] [添加] [引用] [21] 類型:TC_OBJECT[0x73], refVal:{"Classes":[{"ClassName":"java.lang.Long","ScFlag":2,"SerialVersionUID":4290774380558885855,"Fields":[{"FieldType":74,"FieldName":"value ","FieldOwnerScFlag":2,"FieldObjectClassName":"","FieldValue":null}],"RwDatas":null},{"ClassName":"java.lang.Number","ScFlag":2,"SerialVersionUID":9704295249057472651,"Fields":[],"RwDa tas":null}],"SerialVersionUID":0,"JsonData":null,"RawData":null}第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[java.lang.Long] 第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[java.lang.Number]->分解動作 第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[java.lang.Long]->分解動作 嘗試獲取第[0]個類(可序列化)[java.lang.Long]-->第[0]個成員[value]值 ************************BEGIN[value]************************0x01: 解析原生類型成員值 1************************END[value]************************ ************************END[id]************************ 嘗試獲取第[0]個類(可序列化)[com.example.demo.model.UserEntity]-->第[3]個成員[others]值 ************************BEGIN[others]************************ 解析對象類型類成員[others] [ReadTcObjFieldValue]解析類對象0x73: TC_OBJECT. 聲明這是一個新的對象(未被消費(fèi))按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[0]塊信息 第二部分是序列化的類的描述[深度:0]0x72: TC_CLASSDESC. 聲明這里開始一個新Class 0x11: 類名字的長度[17] 0x6A6176612E7574696C2E486173684D6170: 嘗試讀取類名[java.util.HashMap] 0x507DAC1C31660D1: SerialVersionUID,序列化ID,如果沒有指定,則會由算法隨機(jī)生成一個8byte的ID. [添加] [引用] [22] 類型:TC_CLASSDESC[0x72], refVal:{"ClassName":"java.util.HashMap","ScFlag":0,"SerialVersionUID":362498820763181265,"Fields":null,"RwDatas":null} 0x03: 標(biāo)記號. 擁有自己的writeObject, readObject, for example: HashMap, 此種類型需要每一個定義一個相應(yīng)的結(jié)構(gòu)體 0x02: 該類[java.util.HashMap]所包含的域個數(shù),有2個成員第三部分是類[java.util.HashMap]中各個屬性的描述準(zhǔn)備解析類[java.util.HashMap]第1個屬性 0x46: 成員類型[F]0x0A: 成員名字長度 0x6C6F6164466163746F72: 成員名字[loadFactor] 類[java.util.HashMap]第1個屬性 :type: 0x46, name: loadFactor, flag: 0x3, class:準(zhǔn)備解析類[java.util.HashMap]第2個屬性0x49: 成員類型[I] 0x09: 成員名字長度 0x7468726573686F6C64: 成員名字[threshold] 類[java.util.HashMap]第2個屬性 :type: 0x49, name: threshold, flag: 0x3, class: 0x78: TC_ENDBLOCKDATA,在readObject中,表明數(shù)據(jù)已經(jīng)讀取完畢按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[1]塊信息0x70: TC_NULL,標(biāo)記后面的數(shù)據(jù)為空,説明已經(jīng)沒有父類信息了[深度:1] [添加] [引用] [23] 類型:TC_OBJECT[0x73], refVal:{"Classes":[{"ClassName":"java.util.HashMap","ScFlag":3,"SerialVersionUID":362498820763181265,"Fields":[{"FieldType":70,"FieldName":"loa dFactor","FieldOwnerScFlag":3,"FieldObjectClassName":"","FieldValue":null},{"FieldType":73,"FieldName":"threshold","FieldOwnerScFlag":3,"FieldObjectClassName":"","FieldValue":null}],"R wDatas":null}],"SerialVersionUID":0,"JsonData":null,"RawData":null}第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[java.util.HashMap] 第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[java.util.HashMap]->分解動作 嘗試獲取第[0]個類(自定義序列化)[java.util.HashMap] ************************BEGIN************************ [JavaHashMap] has 0.000000 buckest [JavaHashMap] has 0 mappings(size)0x74: TC_STRING.代表一個new String.用String來引用對象(ReadNextEle) [添加] [引用] [24] 類型:TC_STRING[0x74], refVal:"1qqqq" 0x71: TC_REFERENCE 0x7E0018: TC_REFERENCE引用序號[24] 0x74: TC_STRING.代表一個new String.用String來引用對象(ReadNextEle) [添加] [引用] [25] 類型:TC_STRING[0x74], refVal:"4rrrr" 0x71: TC_REFERENCE 0x7E0019: TC_REFERENCE引用序號[25] 0x74: TC_STRING.代表一個new String.用String來引用對象(ReadNextEle) [添加] [引用] [26] 類型:TC_STRING[0x74], refVal:"2wwww" 0x71: TC_REFERENCE 0x7E001A: TC_REFERENCE引用序號[26] 0x74: TC_STRING.代表一個new String.用String來引用對象(ReadNextEle) [添加] [引用] [27] 類型:TC_STRING[0x74], refVal:"3eeee" 0x71: TC_REFERENCE 0x7E001B: TC_REFERENCE引用序號[27] 0x78: TC_ENDBLOCKDATA,在readObject中,表明數(shù)據(jù)已經(jīng)讀取完畢************************END************************ ************************END[others]************************ 嘗試獲取第[0]個類(可序列化)[com.example.demo.model.UserEntity]-->第[4]個成員[others2]值 ************************BEGIN[others2]************************ 解析對象類型類成員[others2] [ReadTcObjFieldValue]解析類對象0x73: TC_OBJECT. 聲明這是一個新的對象(未被消費(fèi))按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[0]塊信息0x71: TC_REFERENCE 標(biāo)識引用 0x7E0016: TC_REFERENCE引用序號[22](OBJECT-->TC_CLASSDESC)--> java.util.HashMap [添加] [引用] [28] 類型:TC_OBJECT[0x73], refVal:{"Classes":[{"ClassName":"java.util.HashMap","ScFlag":3,"SerialVersionUID":362498820763181265,"Fields":[{"FieldType":70,"FieldName":"loa dFactor","FieldOwnerScFlag":3,"FieldObjectClassName":"","FieldValue":null},{"FieldType":73,"FieldName":"threshold","FieldOwnerScFlag":3,"FieldObjectClassName":"","FieldValue":null}],"R wDatas":[{"ClassDesc":null,"LoadFactor":0.75,"Thredshold":12,"Buckets":16,"Entries":{"1qqqq":"1qqqq","2wwww":"2wwww","3eeee":"3eeee","4rrrr":"4rrrr"}}]}],"SerialVersionUID":0,"JsonData ":null,"RawData":null}第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[java.util.HashMap] 第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[java.util.HashMap]->分解動作 嘗試獲取第[0]個類(自定義序列化)[java.util.HashMap] ************************BEGIN************************ [JavaHashMap] has 0.000000 buckest [JavaHashMap] has 0 mappings(size)0x74: TC_STRING.代表一個new String.用String來引用對象(ReadNextEle) [添加] [引用] [29] 類型:TC_STRING[0x74], refVal:"1tttt" 0x71: TC_REFERENCE 0x7E001D: TC_REFERENCE引用序號[29] 0x78: TC_ENDBLOCKDATA,在readObject中,表明數(shù)據(jù)已經(jīng)讀取完畢************************END************************ ************************END[others2]************************ 嘗試獲取第[0]個類(可序列化)[com.example.demo.model.UserEntity]-->第[5]個成員[son]值 ************************BEGIN[son]************************ 解析對象類型類成員[son] [ReadTcObjFieldValue]解析類對象 0x73: TC_OBJECT. 聲明這是一個新的對象(未被消費(fèi)) 按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[0]塊信息 第二部分是序列化的類的描述[深度:0]0x72: TC_CLASSDESC. 聲明這里開始一個新Class 0x20: 類名字的長度[32] 0x636F6D2E6578616D706C652E64656D6F2E6D6F64656C2E536F6E456E74697479: 嘗試讀取類名[com.example.demo.model.SonEntity] 0x01: SerialVersionUID,序列化ID,如果沒有指定,則會由算法隨機(jī)生成一個8byte的ID. [添加] [引用] [30] 類型:TC_CLASSDESC[0x72], refVal:{"ClassName":"com.example.demo.model.SonEntity","ScFlag":0,"SerialVersionUID":1,"Fields":null,"RwDatas":null} 0x02: 標(biāo)記號. 該值聲明該對象支持序列化 0x01: 該類[com.example.demo.model.SonEntity]所包含的域個數(shù),有1個成員第三部分是類[com.example.demo.model.SonEntity]中各個屬性的描述 準(zhǔn)備解析類[com.example.demo.model.SonEntity]第1個屬性0x4C: 成員類型[L] 0x07: 成員名字長度 0x536F6E4E616D65: 成員名字[SonName] 0x71: TC_REFERENCE 標(biāo)識引用 0x7E0006: TC_REFERENCE引用序號[6] 類[com.example.demo.model.SonEntity]第1個屬性 :type: 0x4C, name: SonName, flag: 0x2, class: Ljava/lang/String; 0x78: TC_ENDBLOCKDATA,在readObject中,表明數(shù)據(jù)已經(jīng)讀取完畢按順序獲取類描述,類數(shù)據(jù)塊信息,獲取第[1]塊信息0x70: TC_NULL,標(biāo)記后面的數(shù)據(jù)為空,説明已經(jīng)沒有父類信息了[深度:1] [添加] [引用] [31] 類型:TC_OBJECT[0x73], refVal:{"Classes":[{"ClassName":"com.example.demo.model.SonEntity","ScFlag":2,"SerialVersionUID":1,"Fields":[{"FieldType":76,"FieldName":"SonNa me","FieldOwnerScFlag":2,"FieldObjectClassName":"Ljava/lang/String;","FieldValue":null}],"RwDatas":null}],"SerialVersionUID":0,"JsonData":null,"RawData":null}第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[com.example.demo.model.SonEntity] 第五部分?jǐn)?shù)據(jù)信息(類成員值),從父類的Field反序列化[com.example.demo.model.SonEntity]->分解動作 嘗試獲取第[0]個類(可序列化)[com.example.demo.model.SonEntity]-->第[0]個成員[SonName]值 ************************BEGIN[SonName]************************ 解析對象類型類成員[SonName]0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x13: 該TC_STRING的長度[19] 0x5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A: 字符串原文:ZZZZZZZZZZZZZZZZZZZ [添加] [引用] [32] 類型:TC_STRING[0x74], refVal:"ZZZZZZZZZZZZZZZZZZZ"************************END[SonName]************************ ************************END[son]************************ 嘗試獲取第[0]個類(可序列化)[com.example.demo.model.UserEntity]-->第[6]個成員[userName]值 ************************BEGIN[userName]************************ 解析對象類型類成員[userName]0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x07: 該TC_STRING的長度[7] 0x31313131313131: 字符串原文:1111111 [添加] [引用] [33] 類型:TC_STRING[0x74], refVal:"1111111"************************END[userName]************************ 嘗試獲取第[0]個類(可序列化)[com.example.demo.model.UserEntity]-->第[7]個成員[userSex]值 ************************BEGIN[userSex]************************ 解析對象類型類成員[userSex]0x74: TC_STRING.如果成員類型是對象,則后面跟著一個該對象的類名 0x0E: 該TC_STRING的長度[14] 0x3232323232323232326461736464: 字符串原文:222222222dasdd [添加] [引用] [34] 類型:TC_STRING[0x74], refVal:"222222222dasdd"
標(biāo)簽:
相關(guān)推薦:
精彩放送:
- []視焦點(diǎn)訊!方圓生活服務(wù):2022年總收入約為人民幣5.11億元
- []太平洋保險的稅優(yōu)識別碼,在保單右上方查找
- []天天報道:領(lǐng)悅服務(wù)集團(tuán):2022年收益為人民幣5.77億元
- []保險公司排名一覽表,十大公司排名
- []天天新消息丨養(yǎng)老保險種類
- []【天天聚看點(diǎn)】燕塘乳業(yè)2022年營收18.8億 新零售業(yè)務(wù)逆勢增長58%
- []統(tǒng)籌公司倒閉車險不能理賠怎么辦
- []天天動態(tài):保利發(fā)展:2022年實現(xiàn)營業(yè)總收入2811.08億元
- []遠(yuǎn)洋集團(tuán):2022年營業(yè)額為人民幣461.27億元
- []疫情隔離保險在哪買,有以下三種方法
- []環(huán)球熱推薦:“快遞一哥”順豐控股去年凈利增長45%,前十大股東中4位去年四季度在減持
- []環(huán)球今亮點(diǎn)!村民不認(rèn)可孫國友被稱治沙英雄是什么情況
- []全球微頭條丨東勝智慧城市服務(wù)2022年收入2.27億港元 同比增加約77%
- []天天快資訊丨新華聯(lián)所持長沙銀行1.39億股司法拍賣已完成過戶手續(xù)
- []金茂投資:2022年實現(xiàn)營業(yè)收入771.64億元
- []移卡創(chuàng)始人稱數(shù)字生活正在加速由2.0進(jìn)入3.0時代
- []熱點(diǎn)評!青島雙星: 您的提問涉及到公司與合作方的商業(yè)秘密不便透露,敬請諒解
- []助力鄉(xiāng)村振興 長安汽車幫扶酉陽茶油可持續(xù)發(fā)展
- []世界訊息:鄭州航空港區(qū)購房每平方米補(bǔ)貼300元 不限戶籍、不限區(qū)域
- []建發(fā)股份:2022年歸屬股東凈利潤62.82億元
- []首旅酒店:2022年歸屬股東凈虧損5.82億元
- []直真科技:3月29日公司高管彭琳明減持公司股份合計10000股
- []當(dāng)前觀察:合肥今年首批集中供地攬金約89億元
- []亞朵集團(tuán)上市首份成績單:2022年凈利潤同比增85.6%
- []美聯(lián)儲更擔(dān)心通脹年內(nèi)至少加息一次,黃金騰飛
- []每日頭條!交通銀行副行長周萬阜:財富管理業(yè)務(wù)具有很大的發(fā)展空間
- []協(xié)會屬于什么性質(zhì)企業(yè)
- []均勝電子:2022年凈利3.94億元 同比扭虧為盈
- []當(dāng)前最新:發(fā)行股票的手續(xù)費(fèi)計入什么科目
- []動態(tài):配債100元一股要不要買
- []焦點(diǎn)熱訊:歸母利潤是什么意思
- []綠景中國地產(chǎn):2022年歸屬股東凈虧損7.30億元
- []華僑城:2022年歸屬股東凈虧損109.05億元
- []最資訊丨兩部門:推動常態(tài)化開展“帶押過戶”服務(wù),實現(xiàn)地域范圍、金融機(jī)構(gòu)和不動產(chǎn)類型全覆蓋
- []焦點(diǎn)訊息:海爾智家2022年財報:業(yè)績雙增,利潤增速超營收
- []精選!英諾特2022年凈利1.51億同比增長25.31% 董事長葉逢光薪酬12萬
- []環(huán)球精選!財報金選丨萬科企業(yè)2022年度營收5038.4億元,同比增長11.3%
- []全球快看點(diǎn)丨萬科曬年報:行業(yè)震蕩中實現(xiàn)業(yè)績企穩(wěn),經(jīng)營服務(wù)業(yè)務(wù)收入突破500億
- []【熱聞】金輝控股:2022年凈利潤約為人民幣20.8億元
- []焦點(diǎn)消息!中科金財:公司業(yè)務(wù)和回款一直以來均具有季節(jié)性特征,四季度回款量較大
- []安徽天堂寨在哪里_安徽天堂寨
- []粵海置地:2022年歸屬股東凈利潤3.93億港元
- []指南針:公司業(yè)務(wù)目前不涉及ChatGPT相關(guān)應(yīng)用,也暫未有從事AI基礎(chǔ)研究計劃
- []焦點(diǎn)訊息:精研科技:隨著人工智能的發(fā)展,我們認(rèn)為在以下幾個方面會有更多、更高效的散熱方案需求
- []富通信息:公司專業(yè)從事以光纖光纜制造為核心的光通信業(yè)務(wù)和以石英管材產(chǎn)品為輔助的石英制品業(yè)務(wù)
- []魯商發(fā)展:2022年歸屬股東凈利潤0.45億元
- []中國中鐵:2022年房地產(chǎn)業(yè)務(wù)新簽合同額751.9億元
- []當(dāng)前熱議!中梁控股:2022年實現(xiàn)收入393.3億元
- []【世界熱聞】建發(fā)物業(yè):2022年實現(xiàn)收入22.90億元
- []近期經(jīng)濟(jì)運(yùn)行亮點(diǎn) | 甘肅省臨夏州重錘敲響項目建設(shè)起勢鑼 凝心聚力力保有效投資開門紅
- []魯商服務(wù):2022年實現(xiàn)收入6.27億元
- []快資訊:陸家嘴:2022年實現(xiàn)營業(yè)收入117.62億元
- []當(dāng)前關(guān)注:中駿商管:2022年實現(xiàn)收入11.82億元
- []水井坊:一季度業(yè)績詳見擬于4月份披露的公司一季度報告
- []環(huán)球關(guān)注:福星股份:2022年實現(xiàn)收入151.42億元
- []沿海家園:出售珠海沿海股權(quán)事項補(bǔ)充材料將延遲至5月31日寄發(fā)
- []每日視訊:微盟發(fā)布2022年報:總營收18億元 下半年虧損環(huán)比收窄0.8億
- []ST宏達(dá):公司目前沒有對外引進(jìn)資產(chǎn)的計劃,如有相關(guān)計劃將按規(guī)則及時披露
- []環(huán)球最資訊丨溢價近90%戰(zhàn)投榮盛石化,沙特阿美的野心不止于此
- []焦點(diǎn)速遞!斬獲儲能雙獎|華塑閃耀金磚儲能大會
- []每日熱點(diǎn):跌無可跌,新能源板塊暴力反彈一觸即發(fā)!
- []兩款手機(jī)表現(xiàn)有何不同?選HUAWEI magic5,還是oppofindx6?
- []環(huán)球熱文:浙江海曙區(qū)2022年下半年非自然人家庭屋頂光伏項目補(bǔ)貼資金120198元
- []熱推薦:比亞迪年報發(fā)布!2022年平均日營收11.62億元!
- []環(huán)球速讀:450MWh!寧德時代海外儲能提速!
- []“雙碳目標(biāo)”驅(qū)動箭牌家居綠色發(fā)展,以身作則引領(lǐng)行業(yè)綠色智造升級
- []實時焦點(diǎn):在這里,孩子們感受家的溫暖(一線調(diào)研)
- []合肥第二批供地掛牌11宗地塊 總起始價98.44億元
- []全球動態(tài):中國鐵建:2022年房地產(chǎn)開發(fā)業(yè)務(wù)實現(xiàn)收入622.53億元
- []沙河股份:2022年實現(xiàn)收入7.63億元
- []天天亮點(diǎn)!沙河股份2022年營業(yè)收入7.64億元 房地產(chǎn)銷售收入占98.45%
- []環(huán)球滾動:港發(fā)展局指交椅洲人工島每年平開支只占政府每年總開支不到5%
- []楚江新材:公司產(chǎn)品暫未應(yīng)用于固態(tài)氫能發(fā)電領(lǐng)域
- []怎么野,你說了算!奇瑞首款輕越野TJ-1開啟全球征名
- []當(dāng)前看點(diǎn)!九安醫(yī)療:持續(xù)血糖監(jiān)測儀(CGMS)研發(fā)項目是公司募投項目之一,目前處于研發(fā)階段,還需要一段時間
- []世界速讀:通策醫(yī)療:公司不存在挪用資金情形,也不存在被ST的情形
- []支付寶出境游服務(wù)覆蓋超過70個國家和地區(qū) 最新去韓國可用支付寶買火車票
- []前沿?zé)狳c(diǎn):21566人參觀!2023中國國際清潔能源博覽會暨中國氫能展圓滿落幕
- []環(huán)球熱資訊!身體抱恙是什么意思?抱恙出自哪里?
- []putup加動詞什么形式?putup是什么意思?
- []【全球聚看點(diǎn)】金地集團(tuán)29.95億元公司債將付息 利率分別為3.91%及4.30%
- []今日精選:北京故宮的特點(diǎn)有哪些?北京故宮資料介紹?
- []幾套房要征收房產(chǎn)稅?房產(chǎn)稅怎么征收?
- []天天熱資訊!廈門象嶼完成發(fā)行23億中期票據(jù) 利率1.69%
- []天天視點(diǎn)!“創(chuàng)”字當(dāng)頭“智”造為先 瀘州老窖榮獲2022年度四川省科學(xué)技術(shù)進(jìn)步獎一等獎
- []當(dāng)前時訊:斛珠的意思是什么?斛珠出自哪里?
- []12萬買寶馬? 營銷噱頭多于讓利,難助力寶馬電動化轉(zhuǎn)型
- []實時:金管局:港家庭負(fù)債占GDP比率升至95.5%
- []盤它是什么意思?盤它一詞的來源是什么?
- []全球看點(diǎn):新地香港apm復(fù)活節(jié)生意額料增25%
- []每日訊息!吸附在鯊魚身上的魚是什么魚?吸附在鯊魚身上的魚有什么特征?
- []世界今日訊!華潤建筑有限公司是國企嗎?華潤建筑有限公司資料介紹?
- []當(dāng)前滾動:公司社保怎么辦理?公司社保的辦理方式?
- []野風(fēng)現(xiàn)代中心二期6.4億元ABS項目更新至“已受理”
- []要聞:張遼和張頜是什么關(guān)系?張遼的簡單介紹?
- []天天熱推薦:3月30日豪邁科技漲停分析:風(fēng)電,輪胎概念熱股
- []全球即時:3月30日江波龍漲停分析:閃存,DRAM(內(nèi)存),大基金概念概念熱股
- []世界最資訊丨如何自然疏通浴室水槽
- []關(guān)上燈,點(diǎn)亮希望——寧波阪急響應(yīng)“地球一小時”活動
- []【全球時快訊】求生之路2怎么局域網(wǎng)聯(lián)機(jī)?局域網(wǎng)聯(lián)機(jī)方法詳解
- 華為光纖貓指示燈有什么用?華為光纖貓指示燈功能介紹
- 今日看點(diǎn):bot短期密集訪問形成的流量高峰有哪些?如何解決?
- 全球快資訊丨golang-java-serializer序列化算法解析
- 全球訊息:上坤地產(chǎn):楊占東辭任執(zhí)行董事 繼續(xù)擔(dān)任執(zhí)行總裁職務(wù)
- 焦點(diǎn)快播:【python】Python中最常用的數(shù)據(jù)類型
- 每日視訊:去年地產(chǎn)板塊收入降超四成 金隅集團(tuán)今年要“下更大力度去庫存”
- TD早報 | 多方回應(yīng)搭飛機(jī)坐高鐵是否需要佩戴口罩;國航:暫未接到下調(diào)機(jī)票燃油費(fèi)相關(guān)通知
- 世界通訊!3月31日財經(jīng)早餐:美元走軟和美債收益率下降推動黃金需求,關(guān)注美國通脹數(shù)據(jù)
- 觀熱點(diǎn):二六三(002467)2022年年報財務(wù)簡析:增收不增利
- 弘陽地產(chǎn):2022年實現(xiàn)收入200.13億元
- B站注冊資本增幅400%至5億 目前由陳睿全資持股
- 光源資本出任獨(dú)家財務(wù)顧問 沐曦集成電路10億元A輪融資宣告完成
- 巨輪智能2021年上半年營收11.24億元 期內(nèi)研發(fā)費(fèi)用投入增長19.05%
- 紅棗期貨尾盤拉升大漲近6% 目前紅棗市場總庫存約30萬噸
- 嘉銀金科發(fā)布2021年Q2財報 期內(nèi)凈利潤達(dá)1.27億元同比增長208%
- 成都銀行2021上半年凈利33.89億元 期內(nèi)實現(xiàn)營收同比增長17.27億元
- 汽車之家發(fā)布2021年第二季度業(yè)績 期內(nèi)新能源汽車品牌收入增長238%
- 中信銀行上半年實現(xiàn)凈利潤290.31億元 期末不良貸款余額706.82億元
- 光伏概念掀起漲停潮交易價格創(chuàng)新高 全天成交額達(dá)1.29億元
- 上半年生物藥大增45% 關(guān)鍵財務(wù)指標(biāo)好轉(zhuǎn)營收賬款持續(xù)下降
- 全球微動態(tài)丨聯(lián)想ThinkPad有哪些型號?聯(lián)想ThinkPad各系列型號介紹
- 華為HiLink是什么?華為路由器hilink怎么用?
- QQ網(wǎng)絡(luò)硬盤在哪?如何添加QQ界面?
- 世界今熱點(diǎn):躲過15次GC之后 進(jìn)入老年代系統(tǒng)有哪些規(guī)則?
- iPhone5怎么升級ios7?8款蘋果設(shè)備升級更新
- 克而瑞深度解讀百瑞紀(jì)首本《住房租賃輕資產(chǎn)運(yùn)營白皮書》
- 每日快播:張坤隱形重倉股曝光 再談投資:每一次市場的大幅下跌 股票都是在“打折促銷”
- 網(wǎng)吧服務(wù)器維護(hù)工具怎么下載?網(wǎng)吧維護(hù)管理助手使用方法
- 攝像機(jī)的焦距是什么意思?攝像機(jī)焦距對應(yīng)距離介紹
- 世界即時看!【劍靈力士】新版本力士職業(yè)天賦加點(diǎn)推薦 備戰(zhàn)不刪檔
- 每日頭條!如何打開pdg文件?手把手教你打開PDG文件
- 每日熱文:湖北長陽農(nóng)商銀行被罰60萬元:因違規(guī)辦理展期業(yè)務(wù)等
- 福建莆田市住房公積金政策調(diào)整 最低首付款比例20%
- 當(dāng)前時訊:湖北襄陽出臺購房新政 多孩家庭可獲4萬元補(bǔ)貼
- 微速訊:中建一局集團(tuán)完成發(fā)行30億票據(jù) 利率2.20%
- 西藏:適當(dāng)提高住房公積金貸款最高額度
- 當(dāng)前視訊!拉芳家化:公司將在2023年4月份公布2022年度的經(jīng)營情況,還請屆時關(guān)注
- 焦點(diǎn)要聞:眾信旅游:目前,公司核心團(tuán)隊人員情況穩(wěn)定,不存在專業(yè)人才流失的情況
- 全球熱資訊!越秀資本完成發(fā)行8億短期融資券 票面利率2.32%
- 來賓彩印手提無紡布袋定制,環(huán)保無紡布袋制作廠家
- 攜程集團(tuán)CEO孫潔:出入境游年底會反彈至80%水平
- 世界微動態(tài)丨日本角川出版公司奧運(yùn)項目負(fù)責(zé)人承認(rèn)向東京奧組委官員行賄
- 合肥2023首場土拍落幕 13宗地塊成交總攬金約88.49億元
- 全球熱點(diǎn)評!東星醫(yī)療:公司若有股權(quán)激勵計劃,將根據(jù)相關(guān)規(guī)定及時履行信息披露義務(wù)
- 成都雙流板橋軌道公司100%股權(quán)掛牌將滿一年 目前尚未成功轉(zhuǎn)讓
- 天天快看:武漢城建開元森泊度假樂園項目簽約 投資總額達(dá)22億元
- 即時:合生創(chuàng)展2022年實現(xiàn)核心利潤10.81億港元 同比下降77.27%
- 【新視野】一張圖:黃金原油外匯股指"樞紐點(diǎn)+多空占比"一覽(2023/03/30周四)
- 歐盟就2030年可再生能源目標(biāo)達(dá)成協(xié)議 成員國42.5%的能源將來自風(fēng)能等可再生能源
- 碧桂園2022年股東應(yīng)占核心凈利潤26.1億元
- 碧桂園:2022年股東應(yīng)占核心凈利潤約26.1億元
- 【全球速看料】美日反彈若延續(xù),將挑戰(zhàn)132.85和135阻力!
- 環(huán)球熱點(diǎn)!運(yùn)城城建集團(tuán)擬發(fā)行10億元中期票據(jù) 期限3年
- 世界微速訊:現(xiàn)貨黃金交易策略:多空陷入“拉鋸戰(zhàn)”,關(guān)注初請數(shù)據(jù)和美聯(lián)儲官員講話
- 蒙特利爾銀行上調(diào)貴金屬價格預(yù)期,預(yù)測黃金表現(xiàn)優(yōu)于白銀!
- 合生創(chuàng)展集團(tuán):2022年股權(quán)持有人應(yīng)占溢利為87.62億港元
- 【全球新要聞】雅居樂:2022年實現(xiàn)收入540.34億元
- 全球即時:你的員工在出差期間安全嗎?了解旅行風(fēng)險管理標(biāo)準(zhǔn)來規(guī)避風(fēng)險
- 天天百事通!財報金選丨合生創(chuàng)展2022年營業(yè)額272.52億港元 核心利潤10.81億港元
- 快資訊丨復(fù)星國際郭廣昌:艱難的2022年已經(jīng)過去 要往前走
- 環(huán)球熱點(diǎn)評!西藏:適當(dāng)提高住房公積金貸款最高額度 推行“公積金+商業(yè)”組合貸
- 融創(chuàng)近百億美元境外債重組方案公布
- 天天播報:【BT金融分析師】開市客會員業(yè)務(wù)大幅增長,分析師稱其可能會提高會員費(fèi)
- 【BT金融分析師】中國玉柴營收大幅增長,分析師稱疫情好轉(zhuǎn)后基建帶動重卡爆發(fā)
- 當(dāng)前速遞!一個月港元拆息升0.71點(diǎn)子至3.18202%
- 中兵紅箭:公司CVD法工業(yè)金剛石的下游應(yīng)用領(lǐng)域目前只在消費(fèi)領(lǐng)域有應(yīng)用,沒有應(yīng)用在其他領(lǐng)域
- 每日看點(diǎn)!中國汽車流通協(xié)會會長沈進(jìn)軍:延長“國六A”車型銷售期的相關(guān)政策即將出臺
- 【天天速看料】萬達(dá)酒店發(fā)展去年收入8.17億港元,預(yù)計今年新增至少30家酒店
- 天天實時:春風(fēng)十里,光儲綻放,天合儲能亮相CEEC 2023
- 天天微動態(tài)丨【威海福彩·開獎公告】賀17萬元雙色球二等獎喜降我市
- 嘉和美康:截至3月10日,公司的股東人數(shù)為7092戶
- 環(huán)球微頭條丨大和:阿里巴巴業(yè)務(wù)重組 菜鳥、本地服務(wù)業(yè)務(wù)分拆上市可能性增加
- 天天快資訊丨泡泡瑪特漲超10% 2022年海外市場收入同比增長147.1%
- 郭廣昌:2022年復(fù)星的確受到很大損失 好在穿過這場風(fēng)暴
- 港發(fā)展局指環(huán)團(tuán)對交椅洲人工島項目工程加劇政府財赤說法流于武斷
- 全球速遞!南昌經(jīng)開區(qū):凡購買商品住宅和非住宅即發(fā)放購房現(xiàn)金
- 世界熱資訊!東方電熱:謝謝您對公司的關(guān)心!公司多晶硅還原爐產(chǎn)品今年交貨期主要集中在5月至6月
- 全球速遞!新朋股份:目前公司尚無上述領(lǐng)域業(yè)務(wù)。請注意投資風(fēng)險
- 天天看熱訊:理事是什么職位
- 全球熱消息:長三角旅游消費(fèi)復(fù)蘇正當(dāng)時:3月份旅游訂單量同比實現(xiàn)翻倍式增長
- 世界時訊:怠慢是什么意思?怠慢的出處是哪里?
- 鋰電池股票龍頭有哪些
- 當(dāng)前熱議!陽光財產(chǎn)保險股份有限公司是國企嗎
- 環(huán)球快資訊丨coser是什意思?coser怎么理解?
- 【世界新要聞】退市整理期的股票可以買嗎
- 四川瀘州市古藺縣在哪里?四川瀘州市古藺縣資料介紹?
- 對比明顯!湖人首發(fā)包攬107分 替補(bǔ)僅由施羅德和八村得到14分
- 青云志周小環(huán)結(jié)局是什么?周小環(huán)是一個什么樣的角色?
- 商務(wù)局和外經(jīng)貿(mào)局是一回事嗎?商務(wù)局和外經(jīng)貿(mào)局有什么區(qū)別?
- 快消息!企業(yè)管理學(xué)基礎(chǔ)知識有哪些?企業(yè)管理學(xué)基礎(chǔ)知識體現(xiàn)于管理學(xué)的特點(diǎn)?
- 當(dāng)前要聞:美國地理位置怎么樣?美國地理位置的優(yōu)越性有哪些?
- 全球快看:什么播放器可以看港澳臺直播?可以看港澳臺直播的播放器有哪些?
- 天天速遞!給領(lǐng)導(dǎo)的祝福語怎么寫?寫給領(lǐng)導(dǎo)的祝福語有哪些?
- 進(jìn)氣壓力傳感器的工作原理是什么?進(jìn)氣壓力傳感器怎么工作?
- 每日消息!深圳控股盤初升約10% 2022年全年度虧轉(zhuǎn)盈賺20.85億元
- 銀城國際控股:2022年歸屬股東凈虧損9.99億元
- 華發(fā)物業(yè):2022年實現(xiàn)收入15.99億元
- 中央氣象臺:華北中南部黃淮西部大氣擴(kuò)散條件一般 西北部分地區(qū)將有沙塵天氣
- 全球速讀:達(dá)實智能:物聯(lián)網(wǎng)和工業(yè)互聯(lián)網(wǎng)都與企業(yè)數(shù)字化、信息化建設(shè)密切相關(guān)
- 天天短訊!金銀多頭福音來了!機(jī)構(gòu)大幅上調(diào)均價預(yù)期
- 黃金市場分析:銀行危機(jī)情緒極大緩解 黃金繼續(xù)高位盤整
- 燁星集團(tuán):2022年凈虧損5187萬元
- 順豐控股:1-2月累計達(dá)成國內(nèi)速運(yùn)物流業(yè)務(wù)量13%增速和收入10%增速
- 【環(huán)球快播報】粵桂股份:加大甘蔗產(chǎn)業(yè)發(fā)展符合我們的基本戰(zhàn)略,是否提煉乙醇需結(jié)合企業(yè)實際進(jìn)行論證
- 天天微速訊:3月30日限售股解禁一覽(名單)
- 酒店規(guī)定引爭議,一家三口能不能住標(biāo)間?
- 填權(quán)是什么意思
- 當(dāng)前觀察:沈陽首套房利率降至3.8%,支持公寓類非住宅去庫存,前兩月個人按揭貸款下降45.9%
- 【世界新要聞】綠城中國業(yè)績會上剛提拿地目標(biāo),今日已收獲杭州兩宗地
- 雄安建設(shè)有序推進(jìn),榮盛發(fā)展穩(wěn)增長行情日漸清晰
- 當(dāng)前關(guān)注:遠(yuǎn)洋集團(tuán)完成共計2060萬美元次級永續(xù)美元債票息兌付
- 觀點(diǎn):第一服務(wù)控股:2022年收益約為人民幣11.22億元
- 元道通信:世界人工智能技術(shù)已經(jīng)出現(xiàn)了突破,將深刻改變?nèi)藗兊纳a(chǎn)生活方式
- 環(huán)球微動態(tài)丨東南網(wǎng)架:公司將根據(jù)發(fā)展戰(zhàn)略,綜合對下屬子公司進(jìn)行規(guī)劃
- 最新消息:德固特:公司未開展碳捕集相關(guān)領(lǐng)域的研究活動。謝謝您對公司的關(guān)心與支持!
- 每日熱聞!信德新材:截至目前,公司與榮盛石化沒有業(yè)務(wù)往來
- 天天速遞!東北證券:二季度A股震蕩依舊 政策導(dǎo)向的行業(yè)占優(yōu)
- 簡訊:又見牛市長期起點(diǎn)!頂流劉格菘、傅鵬博、馮明遠(yuǎn)最新判斷出爐 新進(jìn)哪些股
- 看點(diǎn):機(jī)構(gòu)扎堆調(diào)研AI!中金公司、易方達(dá)基金、PAG等都出手了