http://blog.csdn.net/joeblackzqq/article/details/9041929 http://www.cnblogs.com/kex1n/archive/2010/12/03/2286438.html