https://www.zhihu.com/question/20794107 http://www.cnblogs.com/flyoung2008/archive/2013/08/11/3251148.html http://www.cnblogs.com/xiaoluo501395377/p/3383130.html