参考:https://blog.csdn.net/zhangjg_blog/article/details/18369201 序列化实现:https://www.cnblogs.com/shakinghead/p/7651502.html