知识点:https://www.zhihu.com/question/20962240
应用:https://blog.csdn.net/ch1209498273/article/details/53864036