http://www.cnblogs.com/rollenholt/archive/2012/07/11/2585633.html http://blog.csdn.net/kulung/article/details/6441463 http://book.51cto.com/art/200912/168575.htm