http://www.cnblogs.com/zenfly/archive/2012/02/09/2343923.html http://univasity.iteye.com/blog/1390445