http://blog.csdn.net/believejava/article/details/43229361
上面的那个是比较详细的解析,下面的链接可以作为参考
http://mianhuaman.iteye.com/blog/1105522
http://www.cnblogs.com/hellojava/archive/2012/12/28/2835730.html
http://www.cnblogs.com/chinafine/archive/2010/09/02/1815980.html