简单理解:https://www.cnblogs.com/axing-articles/p/11708222.html
详解,部分看不明白:https://www.cnblogs.com/angelyan/p/10355416.html