http://www.cnblogs.com/YanPSun/archive/2010/05/22/1741381.html
http://blog.csdn.net/m15188153014/article/details/49356887
两个结合看可能更容易理解一点