http://www.cnblogs.com/youmeng/p/3376353.html
http://www.cnblogs.com/irelands/archive/2012/04/16/2451262.html
http://blog.163.com/penglie_520/blog/static/19440505020127255319862/