http://www.cnblogs.com/bjguanmu/articles/4398144.html http://blog.csdn.net/anhuidelinger/article/details/10414829