http://blog.csdn.net/libertea/article/details/11662661http://www.cnblogs.com/tim-li/archive/2012/07/09/2582618.html