http://blog.csdn.net/xianymo/article/details/46865469 http://blog.csdn.net/lantian0802/article/details/9671903