参考: https://www.cnblogs.com/shengtianlong/archive/2010/08/11/1797667.html http://blog.csdn.net/killcwd/article/details/43702647