详见代码相关部分的注释

需要再补充