词法和语法解析(八)
JSONLexerBase定义并实现了json串实现解析机制的基础,在理解后面反序列化之前,我们先来看看并理解重要的属性
拥抱开源,拥抱变化
JSONLexerBase定义并实现了json串实现解析机制的基础,在理解后面反序列化之前,我们先来看看并理解重要的属性
序列化回调接口实现分析,主要对内部常用的序列化实现,比如MapSerializer序列化等。
词法分析是反序列化的重要基础,在其他框架druid、parsii等框架都用到了词法分析的技术,个人认为在讲反序列化之前讲词法分析更重要。
内部注册的序列化,fastjson针对常用的类型已经注册了序列化实现方案:
fastjson序列化主要使用入口就是在JSON.java类中,它提供非常简便和友好的api将java对象转换成json字符串。
序列化字段属性键值对,主要讲解SerializeWriter成员函数
序列化字节和字符串解析,主要讲解SerializeWriter成员函数
fastjson核心功能包括序列化和反序列化,序列化的含义是将java对象转换成跨语言的json字符串。我认为从这里作为分析入口相对比较简单,第二章会从反序列化角度切入,会包含词法分析等较为复杂点展开。
openjdk 的模块,部分使用 C/C++ 编写实现,部分使用 Java 实现。因此除了需要 C/C++ 相关编译工具外,还需要有一个 JDK (Bootstrap JDK)。编译 openjdk8 时可使用jdk1.7 作为 Bootstrap JDK 。