http://www.cnblogs.com/yuanchenqi/articles/6357507.html

http://www.cnblogs.com/yuanchenqi/articles/6437362.html