http://www.blogjava.net/nokiaguy/archive/2009/01/21/252255.html http://www.cnblogs.com/linzheng/archive/2011/01/03/1924854.html