原理:http://blog.csdn.net/hmg25/article/details/8100896 实践:http://blog.csdn.net/tibib/article/details/8538592