http://www.cnblogs.com/demingblog/archive/2013/02/25/2932161.html https://my.oschina.net/pingdy/blog/199592