参考文章:
http://blog.csdn.net/v_july_v/article/details/7624837
http://blog.csdn.net/vivihe0/article/details/7019826