也就是说当你连接到您的类路径中的任何JAR文件。那么据我所知,从第一次加载jar的任何类时,当你创建该类型的任何对象时,在哪种情况下将会加载一个新类?
- 。或
- 如果您正在访问任何静态成员或类的方法。或
- 当装载通过使用Class.forName()方法。
那么,有没有加载类的第一次的其他方法吗?
也就是说当你连接到您的类路径中的任何JAR文件。那么据我所知,从第一次加载jar的任何类时,当你创建该类型的任何对象时,在哪种情况下将会加载一个新类?
那么,有没有加载类的第一次的其他方法吗?
这可能是有益的:
5.3 Creation and Loading上的的JavaTM虚拟机规范
我认为这非常涵盖它,虽然当然,类加载是“传递”。
如果您正在加载引用X的类(例如,作为返回值,作为实例化等),那么将不得不加载X.
我不确定是否允许加载器延迟实际加载直到真的需要引用。
而且,只要ClassLoader.loadClass(className)
被调用。
AFAIK有在这取决于你是否在客户端或服务器模式启动Java活动的差异。 – ZeissS 2010-03-18 19:17:39