参考:
http://www.cnblogs.com/heleifz/p/3404600.html
http://www.cnblogs.com/By-ruoyu/p/4687196.html
http://blog.csdn.net/cywosp/article/details/34429697