1.http://blog.csdn.net/itkingone/article/details/70331783
2.https://segmentfault.com/a/1190000005995267