参考资料及博客: https://www.cnblogs.com/wangjzh/p/5258254.html https://www.cnblogs.com/jijiji/p/7859390.html https://blog.csdn.net/u012102104/article/details/79773328 http://www.sohu.com/a/272795569_120001667 https://www.jianshu.com/p/e90b5121ff45