这是一个创建于 1601 天前的主题,其中的信息可能已经有所发展或是发生改变。
项目中,引用第三方依赖,由于处理字节码反编译,所以很消耗内存,给 jvm 分配 5g 也会消耗殆尽。所以,有什么办法可以强制其运行一段时间后无结果即抛弃并终止其线程运行? 现在通过线程 FutureGet 强制一定时间后返回,但是并不能真正终止线程,于是其线程继续再后台运行,导致 GC OutOfMemoryError 。
难道只能通过将其依赖单独出,通过 Runtime.exec("java -jar xxx.jar"),然后规定时间之后 kill -9 $pid?