在哪种情况下会加载新类?

时间:2010-03-18 19:09:38

标签: java

这就是你有任何jar文件附加到你的类路径。然后据我所知,jar中的任何类都是第一次加载时,

  1. 创建该类型的任何对象时。或
  2. 如果您正在访问该类的任何静态成员或方法。或
  3. 使用Class.forName()方法加载时。
  4. 第一次有没有其他方法加载课程?

3 个答案:

答案 0 :(得分:2)

我认为这几乎涵盖了它,当然,类加载是“传递性的”。

如果要加载引用X的类(例如,作为返回值,作为实例化等),则必须加载X.

我不确定是否允许加载程序延迟实际加载,直到确实需要引用。

答案 1 :(得分:2)

这可能会有所帮助:

JavaTM虚拟机规范

5.3 Creation and Loading

答案 2 :(得分:1)

此外,每当调用ClassLoader.loadClass(className)时。