http://blog.csdn.net/justinavril/article/details/2873664 http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html