http://www.cnblogs.com/tangbinblog/archive/2012/07/30/2614925.html
http://blog.csdn.net/ithomer/article/details/7529022
http://blog.csdn.net/dengsilinming/article/details/8000622
http://blog.csdn.net/snsn1984/article/details/8610232