“卸载课程”是什么意思?

时间:2015-04-14 10:35:00

标签: java android static

在查看类的静态变量不再存在时,我发现当卸载类时,会重新初始化它们的静态变量。是"卸载课程"意味着毁灭(如果我们认为这个类是一个活动)? 谢谢

2 个答案:

答案 0 :(得分:1)

卸载类可能会也可能不会发生,具体取决于JVM实现,并且不应影响任何可访问类加载器的类。来自JLS的引文:

  

当且仅当其定义的类加载器可能被垃圾回收器回收时,可以卸载类或接口,如所讨论的那样“

您可以在“Java language specification #12.7

中找到可能/可能不会发生的完整描述

答案 1 :(得分:-1)

如果需要内存来加载新类并且没有足够的内存可用,则卸载由类加载器完成的类ID。

如果在不同时刻重新加载卸载的类,则会重新初始化静态变量。