讲的很详细: https://www.cnblogs.com/lixuwu/p/10941649.html