http://www.cnblogs.com/surfsky/archive/2010/08/13/1798904.html http://hi.baidu.com/cndeepfar/blog/item/5adfcb54e400d04b1038c2fa.html