參考: http://blog.csdn.net/chosen0ne/article/details/8113347 http://blog.csdn.net/rheostat/article/details/7717016 http://blog.csdn.net/rheostat/article/details/7717020.net