Fastjson Android設計
Fastjson Android採用ASMDeserializerFactory設計
ASMDeserializerFactory是用來動態使用ASM產生JavaBean的Deserializer,針對每個類別的特性進行特別優化,以獲得最快的效能。
1. 限制
1.1 虛擬機器相容
目前ASMDeserializerFactory不能在android的dalvik虛擬機器以及阿里雲OS的lemur虛擬機器上運作。
虛擬機器 | 是否支援 |
#Oracle Hotspot | 支援 |
不支援
1.2 超多欄位類別
#目前ASMDeserializerFactory不支援超過200個欄位JavaBean。做反序列化的時候,需要定義局部變數保存parse的結果,目前的asm框架不能定義超過256個變量,目前保守的做法是,如果字段數量超過200個,則不使用ASMDeserializerFactory。
2 實作