有关JVM加载类的问题

由于一般的项目中,JVM直接加载了所有的类到内存中,而Spring使用的是晚加载,那么spring是如何限制JVM进行晚加载AppClassLoader的呢

[quote]由于一般的项目中,JVM直接加载了所有的类到内存中[/quote],这句话,本身就是不对的,请依次执行下面的t1和t2。
你会发现,只执行t1的时候,B是不会被加载进来的。换句话,只有到真正需要B,才加载B这个类。
下面的代码没用到ArrayList,难道ArrayList一开始就被加载了?
愿意的话,你自己写个ClassLoader验证一下就成了

[code="java"]
public class A {
public static void main(String[] args) {
}

static void t1() {
    System.out.println("a");
}

static void t2() {
    B b = new B();
}

}

class B {
static {
System.out.println("I'm init");
}
}[/code]