参考: http://www.cnblogs.com/xwdreamer/archive/2012/05/30/2526822.html http://www.jianshu.com/p/0e84b8d3606c http://www.jianshu.com/p/605fba8bcbbc