转:http://www.blogjava.net/linxiulei/archive/2012/06/12/348612.html
http://tommy-lu.iteye.com/blog/2289958