代码讲解地址http://www.cnblogs.com/qinghuaideren/p/3679933.html