通俗易懂的介绍:
https://blog.csdn.net/cauchy7203/article/details/107588241
https://www.zhihu.com/question/295048467/answer/1392963606