http://www.cnblogs.com/qingyuan/archive/2010/02/09/1666203.html http://www.cnblogs.com/qingyuan/archive/2010/02/09/1666214.html http://www.cnblogs.com/qingyuan/archive/2010/02/09/1666335.html