参考资料: http://www.cnblogs.com/striveford/archive/2011/02/09/1950369.html http://blog.csdn.net/xjanker2/article/details/5832784