参考资料和博客: https://www.cnblogs.com/linjiqin/p/5096206.html https://blog.csdn.net/truelove12358/article/details/54963791