假设有一段特别耗内存的java代码,容易溢出的代码段,还要5分钟定时执行,启动一个线程去执行好不好?

图数据库猫 发布于 2017/07/28 16:30
阅读 243
收藏 0

假设有一段特别耗内存的java代码,容易溢出的代码段,还要5分钟定时执行,启动一个线程去执行好不好?

加载中
0
DeMoNHaDeS
DeMoNHaDeS

定时任务一般使用Timer和TimerTask,会自动启线程去执行定时任务。

建议从根本上解决存在的问题,通过优化逻辑或者增加内存解决。

启线程去执行并不能解决这个问题,反而可能导致内存溢出时线程无法正常结束,因为不能确保能够中断有问题的线程。还不如启动一个进程去做,可以随时杀掉。总之无论是线程还是进程,都无法从根本上解决本身存在的内存溢出问题。

0
CodeZero
CodeZero

这个不是好不好的问题,OOM都是没有释放资源,又一直在创建资源引起的,只要保证每次运行之后,都回收了资源就行了

0
士别三日
士别三日

溢不溢出跟你用多少个线程执行没有半毛钱关系,内存不够了所有线程都挂掉。你应该增加内存,或者优化代码

0
开源划水
开源划水

我就遇到了,代码优化不了,只能修改jvm的参数了。

0
阳光q-铨
阳光q-铨
应该先优化代码吧,换种方法解决内存溢出问题
返回顶部
顶部