http://segmentfault.com/a/1190000000264347 http://blog.smdcn.net/article/1308.html http://jingyan.baidu.com/article/c1a3101eb2b8dbde656deb32.html