关于项目中同一个方法多次使用new File导致方法运行卡顿的问题

多次使用new File导致方法运行卡顿

  问题描述:最近在一个项目中需要使用定时任务进行文件的下载和读写,在测试类的开发过程中下载、解压、读取的整个流程很快,随后将方法复制到定时任务进行运行,执行过程中出现卡顿的现象,由原来的五分钟延长为三十分钟甚至无法继续执行。

  问题排查:首先,排查下载过程中的耗时,经过多次直接使用地址下载和代码下载的测试,下载过程中耗时稳定,接口调用也比较稳定,不存在延时现象;其次,解压过程中的耗时,使用方法多次进行解压操作均迅速执行,排除该步骤导致的问题;最后,文件读取,在方法中使用IO流的形式对文件进行读写,刚开始时判断是否存在IO流异常,打断点之后往往需要十分钟以上才能开始读取文件,推测可能是IO流阻塞,随后对整个方法的代码进行逐行分析,发现在整个定时任务中多次创建new File方法并没有进行相关的释放或者回收操作,最后精简创建新文件流,终于正常运行。

问题总结:这是一次不规范的代码导致的开发事故

关于项目中同一个方法多次使用new File导致方法运行卡顿的问题
https://blog.jeecloud.cn/2018/12/26/20181226083017/
作者
pshgao
发布于
2018年12月26日
许可协议