http://saupb.blog.163.com/blog/static/471241782010105105525362 http://www.cnblogs.com/taoweiji/archive/2012/12/10/2812221.html