我使用自定义类加载器CustomClassLoader
来创建类DemoClass
的实例。
在监视vm的详细输出时,我注意到
[Loaded packageName.DemoClass from file:workspace/bin/]
在jconsole窗口中,我注意到加载的类数与创建的实例成比例增加。
了解此行为的任何指示。
答案 0 :(得分:1)
问题有点广泛。
如果没有进一步的上下文,我必须得出结论,你没有重复使用ClassLoader
,而是在每次实例化你的类时创建一个新的。{/ p>
现在这可能是正确且合法的行为,具体取决于您要做的事情,例如如果您尝试实现动态语言类型功能,实际上每次都可能需要一个不同的类,但更简单的方法是生成新的类名并使用现有的类加载器(除非您能够卸载实例)因为它们过期并希望每个类加载器都清理干净)