何时加载依赖类

时间:2012-12-16 10:49:11

标签: java classloader

假设我有一个班级:

public class SomeClass {

  public NotPresent1 method1(NotPresent2 input) {return null;}

  public void method2() {}

}

我编译了这个类但是在运行时,NotPresent1和/或NotPresent2不在类路径上。我能加载那个班吗?我可以实例化这样的类并调用method2()吗?或者我甚至可以打电话给method1(null)

1 个答案:

答案 0 :(得分:1)

AFAIK未指定/取决于VM / JIT实现。我知道当前VM尽可能晚地加载类(当调用该类的代码/进行状态访问时)。为了加快Fat Clients(Swing)的启动时间,这已经完成了~1.3左右。然而,可能会发生激进的优化JIT提前加载它们(例如,优化服务器端性能)。 不要依赖当前关于类加载时序的行为。