http://www.cnblogs.com/xuting/archive/2009/08/12/1544381.html http://www.cnblogs.com/sufei/archive/2009/04/13/1434690.html