Java 了解类计数或加载的类增加的行为
我正在使用自定义类加载器Java 了解类计数或加载的类增加的行为,java,Java,我正在使用自定义类加载器CustomClassLoader创建类DemoClass的实例。 在监视vm的详细输出时,我注意到 [Loaded packageName.DemoClass from file:workspace/bin/] 在jconsole窗口中,我注意到加载的类计数与创建的实例成比例增加 任何理解这种行为的指针。问题有点宽泛 如果没有进一步的上下文,我将不得不得出结论,您不是在重用ClassLoader,而是在每次实例化类时创建一个新的类加载器 现在,这可能是正确和合法的行为
CustomClassLoader
创建类DemoClass
的实例。
在监视vm的详细输出时,我注意到
[Loaded packageName.DemoClass from file:workspace/bin/]
在jconsole窗口中,我注意到加载的类计数与创建的实例成比例增加
任何理解这种行为的指针。问题有点宽泛 如果没有进一步的上下文,我将不得不得出结论,您不是在重用
ClassLoader
,而是在每次实例化类时创建一个新的类加载器
现在,这可能是正确和合法的行为,这取决于您尝试执行的操作,例如,如果您尝试实现一个动态语言类型功能,您每次可能实际上都需要一个不同的类,但更简单的方法是生成新的类名并使用现有的类加载器(除非您能够在实例过期时卸载实例,并希望每个类加载器都能清理以进行卸载)加载的类计数增加是什么意思?这里有什么问题?类只应加载一次。