(1)http://blog.csdn.net/guolin_blog/article/details/12921889 (2)http://blog.csdn.net/guolin_blog/article/details/16330267