refs:

  • http://blog.csdn.net/whiteinblue/article/details/43312059
  • http://blog.csdn.net/sinat_29552923/article/details/72638731