http://www.jb51.net/article/64330.htm http://www.cnblogs.com/fishtreeyu/archive/2011/10/06/2200280.html