在查看类的静态变量不再存在时,我发现当卸载类时,会重新初始化它们的静态变量。是"卸载课程"意味着毁灭(如果我们认为这个类是一个活动)? 谢谢
答案 0 :(得分:1)
卸载类可能会也可能不会发生,具体取决于JVM实现,并且不应影响任何可访问类加载器的类。来自JLS的引文:
中找到可能/可能不会发生的完整描述当且仅当其定义的类加载器可能被垃圾回收器回收时,可以卸载类或接口,如所讨论的那样“
答案 1 :(得分:-1)
如果需要内存来加载新类并且没有足够的内存可用,则卸载由类加载器完成的类ID。
如果在不同时刻重新加载卸载的类,则会重新初始化静态变量。