http://www.cnblogs.com/matrix1024/archive/2011/12/31/2308380.html http://cuisuqiang.iteye.com/blog/2019157