http://www.cnblogs.com/skylaugh/archive/2011/07/12/2103572.html http://www.cnblogs.com/wuchao/archive/2013/04/08/3007102.html