http://www.cnblogs.com/downey/p/4888451.html http://blog.csdn.net/fighterandknight/article/details/49640811