参考:
http://www.cnblogs.com/healthy-tree/archive/2012/08/07/2626665.html
http://blog.csdn.net/swandragon/article/details/4653600
http://www.cnblogs.com/TankMa/archive/2011/08/20/2146913.html
http://blog.csdn.net/junshuaizhang/article/details/40153147