a download tool implemented by java, muiltithreaded