参考博文:
http://blog.csdn.net/qq_31655965/article/details/55049192
http://www.cnblogs.com/zhaoyanjun/p/5659811.html
http://www.cnblogs.com/fsjohnhuang/p/4297741.html