http://blog.csdn.net/wangjinyu501/article/details/8140588
http://www.cnblogs.com/hanyonglu/archive/2012/04/21/2462311.html
http://topmanopensource.iteye.com/blog/1456407
http://www.cnblogs.com/salam/archive/2010/11/30/1892143.html