使用后如何卸载自定义类加载器

问题描述 投票:0回答:0

我定义了一个自定义类加载器PluginClassLoader,我用它来执行任务,执行一个任务会创建一个PluginClassLoader。 过了一会儿,我的jvm报告“java.lang.Out0fMemoryError: Compressed class space”。 我用jmap dump,发现几乎内存都被PluginClassLoader占用了,而且有大量的PluginClassLoader。 但我的任务执行完成后会返回,并且没有其他引用 PluginClassLoader。

我的任务执行代码

SQLTaskHandler sqlTaskHandler = (SQLTaskHandler) Class.forName(className, true, getPluginClassLoader()).newInstance();

jvm out-of-memory classloader
© www.soinside.com 2019 - 2024. All rights reserved.