参考: http://www.cnblogs.com/bastard/archive/2011/11/21/2257625.html http://www.cnblogs.com/happyhippy/archive/2010/09/01/1814287.html