http://www.cnblogs.com/playing/archive/2011/04/13/2014705.html http://www.cnblogs.com/mythou/p/3157452.html