引用:http://blog.csdn.net/qh_java/article/details/51811533
引用:http://www.cnblogs.com/rushoooooo/archive/2011/08/28/2155960.html