http://www.cnblogs.com/ywl925/archive/2013/07/24/3210822.html http://blog.csdn.net/huangxy10/article/details/7907700