http://www.blogjava.net/zhuxing/archive/2008/08/01/219436.html http://www.blogjava.net/zhuxing/archive/2008/07/24/217285.html