http://canbeatle.javaeye.com/blog/698364
http://wenku.baidu.com/view/65051eeb172ded630b1cb6c6.html
http://wenku.baidu.com/view/45466b04cc175527072208bf.html