link1: http://www.cnblogs.com/just4fun/archive/2011/01/10/1931858.html link2: http://xiaolong0211.iteye.com/blog/758269