如果你花费了大量的时间和精力试图发现线程组的价值(就像我一样),那么你可能会惊异,为什么没有来自Sun的关于这个主题的官方声明,多年以来,相同的问题对于Java发生的其他变化也询问过无数遍。诺贝尔经济学将得主Joseph Stiglitz的生活哲学可以用来解释这个问题,它被称为承诺升级理论(The Theory of Escalating Commitment):“继续错误的代价由别人来承担,而承认错误的代价由自己承担。”
Java采用了一种不同的对类加载的方式,Java每个类的编译代码都存在于它自己的独立的文件中(.class文件)。该文件只在其代码需要被使用时才会被加载(That file isn’t loaded until the code is needed)。通常,可以说“类的代码在初次使用时才加载”。这通常是指加载发生于构造类的第一个对象之时,但是当访问static域或static方法时,也会发生加载。(构造器也是static方法,尽管static关键字并没有地写出来。因此更准确地讲,类是在其任何static成员被访问时加载的。)