http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html http://www.blogjava.net/honeybee/articles/164008.html