http://blog.csdn.net/dancheren/article/details/73611878 http://blog.csdn.net/jar_java/article/details/26067971