Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在什么情况下会加载新类?_Java - Fatal编程技术网

Java 在什么情况下会加载新类?

Java 在什么情况下会加载新类?,java,Java,也就是说,当您将任何jar文件附加到您的类路径时。就我所知,jar中的任何类都是第一次加载的 创建该类型的任何对象时。或 如果您正在访问该类的任何静态成员或方法。或 当您使用Class.forName方法加载时。 那么第一次加载类还有其他方法吗?我认为这几乎涵盖了它,当然,类加载是可传递的 如果加载引用X的类(例如,作为返回值、作为实例化等),则必须加载X 我不确定是否允许加载程序延迟实际加载,直到真正需要引用为止 此外,无论何时调用。这可能会有帮助: 在JavaTM虚拟机规范AFAIK上,根据

也就是说,当您将任何jar文件附加到您的类路径时。就我所知,jar中的任何类都是第一次加载的

创建该类型的任何对象时。或 如果您正在访问该类的任何静态成员或方法。或 当您使用Class.forName方法加载时。
那么第一次加载类还有其他方法吗?

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

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

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

此外,无论何时调用。

这可能会有帮助:


在JavaTM虚拟机规范AFAIK上,根据是在客户机模式还是服务器模式下启动java,行为会有所不同。