http://www.cnblogs.com/shanyou/archive/2009/11/15/1603245.html
http://my.oschina.net/tanyixiu/blog/123832