我的程序使用ASM库生成adhoc类以进行高效计算。每次调用都会生成一个新类。
定义adhoc类的类加载器实例和adhoc类的所有实例将在短时间内无法访问。在此之后是否会释放adhoc类代码?
答案 0 :(得分:3)
是的,在类加载器有资格进行垃圾收集之后,它加载的类也有资格进行垃圾收集(不提供对类的其他引用)。
答案 1 :(得分:0)
取决于你的意思“在此之后”。您无法强制垃圾收集器运行,环境本身将决定是否运行,即使您“明确调用”它。
实际上,调用gc来运行,只是“请求”它运行。
那么:是否会清除不再引用的变量?是。什么时候会发生?这个我们不能肯定地说。基本上,答案是:“当gc决定清理它时。”