http://www.cnblogs.com/lhming/archive/2012/06/27/2566460.html
http://blog.csdn.net/berdy/article/details/7866653
http://www.cnblogs.com/lhming/archive/2012/06/27/2566467.html