参考文章: http://jiangzhengjun.iteye.com/blog/502966
http://www.cnblogs.com/liuyong/archive/2011/07/01/2095487.html